Graduate Timetable, Fall 2024 (PDF) Version 3
Courses offered at Royal Military College 2024-2025 (PDF) Version 2
To register for a course at RMC, complete and submit the application form.
N. Lu
This course provides students with an in-depth understanding of optimization methods specifically tailored for machine learning. It covers the foundations of convex analysis and widely used optimization algorithms in machine learning such as gradient descent, subgradient, and projected gradient methods. Proximal methods and regularized optimization will be covered for handling optimization problems with non-smooth objectives or constraints. Stochastic gradient methods, including stochastic (sub)gradient descent and variance-reduced stochastic gradient, will be discussed for handling large datasets. The course will conclude by exploring non-convex optimization using coordinate descent, Newton’s and Quasi-Newton Methods, and adaptive methods. The course emphasizes both the theoretical foundations and practical applications of these optimization techniques within the context of machine learning algorithms. By the end of the course, students will be well-versed in advanced optimization methods and equipped to apply them effectively in machine learning scenarios, enhancing model performance, convergence rates, and robustness.
Working knowledge of linear algebra and probability. Prior exposure to optimization is a plus but not necessary.
A. Bakhshai
Renewable energy generation; wind and Photovoltaic energy conversion; energy storage; distributed energy generation; hybrid systems; Power electronics interfaces and control. Grid- connected distributed sources. Stand-alone operation of distributed sources and micro-grid systems. System protection. Economical dispatch. Centralized and decentralized control. Smart grid.
Y.-F. Liu
This course covers the modeling and control techniques for switching power converters. Small signal models and large signal models will be presented. Peak current mode control and average current mode control for switching power converters will be investigated. System stability issues when several power supplies are connected together are investigated and solutions are presented and analyzed. Digital control techniques, using FPGA or DSP, will be investigated and analyzed. Conventional fuzzy logic control and improved version of fuzzy logic control will be analyzed in detail. Sliding mode control and sliding mode like control will be analyzed. Digital control techniques for AC-DC converter with power factor correction will be analyzed. It is expected the students will do a project based one or more of the above mentioned techniques.
M. Pahlevani
This course provides an overview of advanced nonlinear control and its application in power electronics. It covers mathematical background and major topics in this area. Students will be introduced to the rigorous mathematical background for nonlinear systems particularly differential geometry. Then, the design of nonlinear control systems will be covered for power electronics applications.
ELEC 431 (Power Electronics) or equivalent or permission of the instructor, and ELEC 443 (Linear Control Systems) or equivalent.
M. Korenberg
Focus is on methods of representing, analyzing, and identifying nonlinear systems without approximating them by linear systems. Analytical methods for nonlinear systems; nonlinear difference equation models; functional expansions, Volterra and Wiener kernels; kernel estimation techniques; identification of cascades of linear and static nonlinear systems. One algorithm taught is Fast Orthogonal Search, which has been used for both system identification given only system input/output data, and time series analysis. Applications include navigation, jamming detection and remedial action to recover GPS signals, control of UAVs including quadcopters, and modeling of physiological systems.
J. Gammell
This graduate course will introduce students to search and planning algorithms through autonomous and mobile robots. Topics will span foundational works in dynamic programming, graph search, sampling-based planning, and local optimization. The course will cover both the formal properties and practical considerations of these widely used algorithms.
ELEC 278 (Fundamentals of Information Structures) or MREN 178 (Data Structures and Algorithms) or CISC 235 (Data Structures) or equivalent.
S. Kabiri Ameri
This course teaches the fundamentals of electron devices in nanometer regime. The course will cover introduction to the nanoelectronics, basics of quantum mechanics and band theory of solids. The concept of Coulomb blockade, many electrons phenomenon, ballistic and spin transport will be discussed and single electron transistor, quantum dots, nanowire and quantum wells based devices will be taught.
Introduction to nanoelectronics (1 Lecture)
Introduction to Quantum mechanics (5 Lectures)
Band theory of solids (6 Lectures)
Coulomb blockade and single electron transistor (6 Lectures)
Many electrons phenomenon (5 Lectures)
Semiconductor quantum wells, quantum dots and nanowires (5 Lectures)
Ballistic transport, nanowire transport and spin transport (5 lectures)
“Fundamentals of Nanoelectronics,” Goerge W. Hanson, Prentice-Hall, New Jersey, 2009
M. Alam
The course will provide an overview of the principles of operation of current nanophotonic devices, and recent advances in nanophotonics. Topics covered will include: light-matter interaction, optical waveguides, modeling of nanophotonic devices, light propagation in periodic and anisotropic media, coupled mode devices, plasmonics, metamaterial and metasurface. Emphasis of the course will be on the underlying physics behind the operation and design of nanophotonic devices.
Light-matter interaction
Optical waveguides
Coupled waveguide devices
Light propagation in periodic media
Light propagation in anisotropic media
Plasmonics
Metamaterial and metasurface
Fabrication of nanophotonic devices
B. A. Saleh, and M. C. Teich, Fundamentals of Photonics, John Wiley & Sons Inc., 2007
I.-M. Kim
I. Fundamentals
II. 6G and IoT
III. AI and Data Comm
M. Pan
This course focuses on the study and design of human-robot interactions (HRIs). Students will
gain exposure to a broad cross-section of HRI research, exploring topics such as sensors and
actuators, software architectures and design and evaluation tools. Selected HRI subdomains will
be examined, including nonverbal communication, trust, and ethics.
ELEC 344 or similar course.
CO-REQUISITES: ELEC 448 or MECH 456 or MREN 348 or similar from another university, OR permission of the instructor.
A. Etemad
Fundamental concepts and applications of intelligent and interactive system design and implementation. Topics include: (1) Sensors and Signals in Interactive Systems (2) Data Preprocessing: data acquisition, filtering, missing data, source separation, feature extraction, feature selection, dimensionality reduction; (3) Machine Learning: supervised learning, ensemble learning, multi-task learning, unsupervised learning; (4) Identity Recognition; (5) Activity Recognition and Analysis; (6) Affective Computing.
ELEC 326 or equivalent, or permission of the instructor.
Y. Zou
This course covers software re-engineering techniques and tools that facilitate the evolution of legacy systems. This course is broken into three major parts. In the first part, the course discusses the terminology and the processes pertaining to software evolution. In the second part, the course provides the fundamental re-engineering techniques to modernize legacy systems. These techniques include source code analysis, architecture recovery, and code restructuring. The last part of the course focuses on specific topics in software re-engineering research. The topics include software refactoring strategies, migration to Object Oriented platforms, quality issues in re-engineering processes, migration to network-centric environments, and software integration.
G. Chan
Descripton:
This course covers selected topics in statistical signal processing and machine learning.
The methods studied enable numerous applications that need analysis, enhancement, and understanding of information bearing signals and data, such as speech, communications, biomedical/health, etc. The lectures are divided into two parts, with the first covering spectral modeling and adaptive filtering, setting the stage to study machine learning next.
At its core, DSP is about designing algorithms which are amenable to software and/or hardware processing of the target signals/data. The course project enables you to practice algorithm design. The project work has three components: computer simulation (using any suitable language), oral presentation, and a written report.
Please visit the course website linked above for current information on ELEC 823.
X. Zhu
Basic machine learning concepts in supervised and unsupervised learning; discriminative and generative models; backpropagation, FFN, CNN, RNN, autoencoders; regularization technologies; attention-based models, Transformer, Capsule Networks; pretraining and self- supervised models; Generative Adversarial Networks (GANs), variational autoencoders; applications.
ELEC 326 or equivalent, or permission of the instructor
P. Jain
PREREQUISITE: ELEC 431 or permission of instructor.
S.Eren
This course covers various power electronics technologies for micro-grids, nano-grids and energy harvesting systems. In this course various types of micro-grids will be covered (e.g., AC microgrids, hybrid micro-grids, and DC micro-grids), along with their respective architectures and control systems.
ELEC 431 and ELEC 443, or equivalent, or permission of the instructor.
M. Greeff
This graduate course aims to introduce students to the emerging field of learning for robot control. The course focuses on studying and designing safe decision-making algorithms for robotic systems under uncertainties using machine learning. The topics covered include selected fundamental concepts in robust and adaptive control, learning uncertain dynamics to improve performance safely, encouraging safety and robustness in reinforcement learning (RL), and safety certificates for learning-based controllers.
ELEC 443 (Linear Control Systems) or similar.
K. Rudie
In this course we will study discrete-event processes, such as computer systems and manufacturing systems, that require control to induce desirable behaviour. Informally, a discrete-event system (DES) is a process (or set of processes) that starts out in some initial state, and is transformed from state to state by the occurrence of discrete events. Such a system can be thought of as a set of sequences of events, each sequence describing a series of actions that occur within the system. Control amounts to inhibiting the behaviour of such processes by disabling events (or preventing certain actions from occurring). Standard models for the control of discrete-event systems are taken from computer science and mathematics and include automata or finite-state machines, directed graphs, Petri nets, modal logic (such as temporal logic) and algebras.
S. Kauffman
This course introduces students to background, fundamentals, and emerging themes in the area of Runtime Verification (RV). RV is a branch of formal verification primarily focused on monitoring the correctness of executing systems. The course covers general concepts in formal methods, such as formal languages and automata theory, as well as topics specific to RV, such as monitor construction, verdict domains, program instrumentation, and monitorability. Students will also explore current subjects in RV and experiment with tools.
Working knowledge of combinatorics, set theory, graph theory, and propositional logic, as would be taught in an undergraduate discrete mathematics course, as well as computer programming and data structures. Prior exposure to predicate (first-order) logic and finite-state automata is beneficial but not required.
K. Hashtrudi-Zaad
This course provides an overview of manipulator modeling, and presents and analyzes various control architectures designed for robots and telerobots. Topics include introduction to robotics, serial manipulator forward and inverse kinematics, Jacobian, singularities and dynamics, robot position and force control methodologies and their stability analyses; introduction to telerobotics and haptics, haptic devices and their specifications, network modeling of telerobotic systems, stability and performance measures, bilateral control architectures, issues of communication delays and dynamic uncertainties and proposed treatments, rate control.
a.Spatial description and transformations.
b.Serial manipulators: Forward and inverse kinematics, Jacobian and singularities, Dynamics using Euler-Lagrange method.
a.Position control methods: Centralized and decentralized control, Multivariable control, Robust control, Stability in the sense of Lyapunov, Variable structure control, Adaptive control.
b.Force control methods: Hybrid control, Impedance control, Parallel force/position control.
a.Introduction to telerobotics and applications, Haptic devices and their specifications, Network modeling of telerobotic systems, Kinesthetic and task-based performance measures, Stability and stability robustness.
b.Four-channel control formalism, Traditional control architectures, Trade-off between stability and performance
c.Issue of time-delay, Proposed solutions: passivity-based, optimization-based, predictive-based methods and supervisory control
d.Adaptive and variable parameter control methods
e.Issue of rate mode control, Stability and performance
f. Current research topics
Any introductory courses in linear control systems (e.g. ELEC-443 or MECH-350 or MTHE-332) and in robotics (e.g. ELEC-448 or MECH-456).
Test20%
Assignments36%
Project/Study44%
A test will be held on spatial descriptions, transformations, kinematics and dynamics.
Three or four assignments on robot and telerobot control will be handed out, collected and marked.
This part consists of a group simulation project or survey. The deliverables are an oral presentation and a report.
A. Tait
This course gives an overview of computing hardware from classic conventions to emerging frontiers: machine learning accelerators, quantum circuits, and others. It covers unconventional information representations, architectures, and programming. Assignments measuring cloud-based CPU, GPU, FPGA, neuromorphic, and quantum computers will give hands- on exposure to the physicality – the time, energy, and matter – of information processing.
S. Gazor
The review of probability theory including probability spaces, random variables, probability distribution and density functions, characteristic functions, convergence of random sequences, and laws of large numbers. Fundamental concepts of random processes including stationarity, ergodicity, autocorrelation function and power spectral density, and transmission of random processes through linear systems. Special random processes, including Gaussian processes, with applications to electrical and computer engineering at a rigorous level. Three term-hours, lecture, Winter.
M. Greenspan
This course will study advances in Deep Learning as applied to the field of Computer Vision. The course will start with the introduction of AlexNet in 2012, and will advance chronologically, exploring the innovations that led to the significant improvements in performance. Topics covered will include object detection and recognition, region proposal networks, instance and semantic segmentation, depth and video processing.
ELEC 474, ELEC 425 or equivalent, or permission of instructor.
J. Ni
This course covers the fundamentals of cybersecurity and machine learning, selected topics in machine learning for cybersecurity, including anomaly detection, malware analysis, network traffic analysis, and fake news defense, and the advanced topics in artificial intelligence (AI) security, including privacy-preserving AI, fairness in AI, and adversarial machine learning.
1. Fundamentals of Cybersecurity
2. Fundamentals of machine learning
3. Selected topics in AI for cybersecurity
4. k-anonymity and differential privacy
5. Adversarial Machine Learning
There is no required textbook for this course. Course materials have been gathered from recent research papers and selected chapters of different textbooks.
M. Guizani
This course delves into advanced concepts and methodologies in empirical software engineering. In this class, you will learn about the different qualitative and quantitative empirical research methods and how they can be used for a particular software development process or tool. The course will focus on the following topics: measurement types, qualitative and statistical methods, systematic literature reviews, survey studies, and mining of software repositories.
PREREQUISITE: Familiarity with python. A basic understanding of GitHub and familiarity with reading/ writing research papers is beneficial but not necessary.
G.Chan
Burgeoning internetworking and proliferation of smart devices has multiplied the scope and instances of applications that employ multimedia signal processing functions. These functions can be found embedded in networked machines that interact with humans and mediate human-human collaboration. Multimedia signal processing embodiments abound, e.g., sensor signal processing and information extraction for portable/wearable devices; multimedia content generation, distribution, and playback; point-to-point and multipoint communications over wireless networks and the Internet. An overarching theme of this course is the human centered aspect of multimedia, in terms of its ultimate users and source of signals. The focus on auditory and visual signals enables learning specific signal processing approaches and techniques, thereby laying a foundation to work with a variety of existing and emerging interface modalities. Thus, this course will cover human perception and signal production modeling and analysis; machine learning techniques for information extraction; coding for data compression and transmission; anthropomorphic machine intelligence, etc. Through a course project, each student will apply the lecture materials to study a class of signals of his/her choosing, where "signal" is broadly defined ( see here for what constitutes a "signal").
Study of multimedia signal processing for network mediated human-human communication and human-machine interaction (HMI). Topics covered include: overview of multimedia applications and processing functions; speech production; human auditory and speech perception; image formation; human visual perception; perceptual quality and user experience modeling; speech and image analysis and synthesis methods; lossless and lossy compression techniques; coding for communication and storage; sensing modalities for HMI; machine learning algorithms for information extraction and understanding.
Students taking this course should have taken an introductory course to probability and random variables, and digital signal processing. Proficiency in computer programming (e.g., using Matlab) is necessary as the course project requires running computer simulations to process signals.
A. Bakhshai
Introduction. Power semiconductor devices. Line- and force-commutated converters. High power ac/dc and dc/ac converter structures and switching techniques. Principles of HVDC and HVAC systems. Large and small scale stabilities, sub-synchronous resonances, inter-area oscillations, voltage sags, and harmonic instability. Voltage, power angle, and impedance control, phase balancing, and power factor correction by means of solid-state power converters. Flexible AC Transmission Systems (FACTS).
J. Marshall
The objective of this course is to introduce graduate-level engineering students to the fundamentals of robotic vehicles engineering. The course focuses on those tasks usually carried out by autonomy engineers, including sensor selection, applied control (e.g., trajectory and path following) and navigation techniques for autonomous vehicles that operate in real environments (e.g., mining, construction, warehouses, roadways, etc.). Although the focus in this course is on ground vehicles, the presented methods are also applicable more broadly. The audience is engineers from all relevant engineering and applied science disciplines who have an interest in mobile robotics, applied control and estimation, and robotic vehicle applications.
ELEC 443, MECH-350 or equivalent undergraduate level course in control systems.
C. Saavedra
Investigation of the design and performance of wireless circuits and systems at microwave and millimeter-wave frequencies. Topics include: communications transceivers, millimeter-wave imaging systems, RFID, radar systems, transmission lines and passive circuits, resonators, microstrip and lumped element low-pass and bandpass filters, amplifier noise and linearity, diode and transistor mixers, LC and relaxation oscillators, frequency multipliers and dividers, phase shifters, FSK QPSK and GMSK modulators and demodulators. Three term hours; lectures.
C. Saavedra
Investigation of the design and performance of wireless circuits and systems at microwave and millimeter-wave frequencies. Topics include: communications transceivers, millimeter-wave imaging systems, RFID, radar systems, transmission lines and passive circuits, resonators, microstrip and lumped element low-pass and bandpass filters, amplifier noise and linearity, diode and transistor mixers, LC and relaxation oscillators, frequency multipliers and dividers, phase shifters, FSK QPSK and GMSK modulators and demodulators.
C. Saavedra
This course will cover advanced techniques in high-frequency electronics. Possible topics include ultra-low power circuits, wireless sensors, integrated antennas, microwave photonic circuits, RF technology for high-performance instrumentation.
PREREQUISITES: ELEC 353 and ELEC 381 (or their equivalents).
N.Lu
This course provides an analytical study of communication networks that covers many of the major advances made in this area. Students will be introduced to the mathematical preliminaries in queueing theory, optimization and control, followed by a rigorous treatment of network architectures, protocols and algorithms, including resource allocation, congestion control, routing, and scheduling, that are essential to existing and future communication networks and the Internet.
Introduction to communication network analysis
Network resource allocation: utility maximization
Network resource allocation: distributed algorithms
Links: statistical multiplexing
Links: delay and packet loss analysis in queues
Scheduling in packet switches
Scheduling in wireless networks
Joint scheduling, congestion control, power control
Large deviations for queues
Continuous-time queueing theory
Geometric random graph models of wireless networks
J. Cartledge
Description:
Selected topics in optical communications will be studied. Possible topics include semiconductor lasers, optical modulators, modulation formats, multiplexing and demultiplexing techniques, optical fibers, dispersion compensation, optical amplifiers, optical receivers, system performance, optical time division multiplexing, optical signal processing (e.g., wavelength conversion, optical regeneration, clock recovery), passive components, optical networks, and applications (e.g., access, metro, long-haul, ultra-long haul).
S. Yam
This course presents the fundamentals of fiber optic communications, with focus on dense wavelength division multiplexed (DWDM) systems. Topics: components (lasers, modulators, receivers, and optical fibers) and detailed study of system issues in DWDM transmission (interplay between fiber dispersion and non-linearities, transmitter chirp, optical amplification, and polarization mode dispersion).
The course will include the following topics:
Homework Assignments - 0%
Class Project - 50%
Final Exam - 50%
Fiber-Optic Communication Systems, 4th Edition, Govind P. Agrawal, Wiley, 2010, ISBN 978-0-470-50511-3
Lecture Notes
Research Literature
S. Yousefi
his course will be an introductory course on Error Control Coding. The field of error control coding targets the problem of reliable transmission of information over time or space in the presence of noise. The birth of this area from both mathematical as well as engineering perspective can be regarded the same as that of Information Theory: the year of 1948 when Claude Shannon published his landmark paper on communications over noisy channels. Shannon's work in essence was quite a tease! His central result was that if the rate of communication is kept below a certain value (Channel Capacity), reliable communication can be achieved if one chooses proper channel encoding/decoding. He never said what would this proper scheme be for any given channel. Researchers have been addressing this for more than half a century starting with primarily algebraic structures (algebraic coding) and shifting towards random and heuristic schemes (turbo, turbo-like, and low-density parity-check Codes) lately. We put the emphasis on the decoding as Elwyn Berlekamp observes "from a practical standpoint, the essential limitation of all coding and decoding schemes proposed to date has not been Shannon's capacity but the complexity of the decoder. For this reason, efforts have been directed toward the design of coding and decoding schemes which could easily be implemented." In this course we will study a number of efficient encoding/decoding strategies which have proven important in practice with a categorization on the notion of decoding. The course will roughly consist of the following subjects:
Introduction to channel coding: Channel capacity, Shannon theory, performance bounds, discrete and analog channel models
Algebraic decoding: Hard-decision decoding, algebraic coding theory, group theory, codes over fields, codes over rings/groups, linear binary block codes, cyclic codes, BCH codes, RS codes
Trellis decoding: Soft-decision decoding, graphical representations of codes: trellis diagram, Tanner/factor graph, the Viterbi algorithm, convolutional codes, list decoding, sequential decoding, coded modulation
Iterative decoding: Codes over graphs, the forward-backward algorithm, soft-output decoding, low-density parity-check codes, turbo codes, repeat-accumulate codes, block turbo coding, fountain codes, EXIT analysis
PREREQUISITES: Knowledge of digital communications, basic information theory, probability theory, stochastic processes, and (abstract) algebra [group theory] would be a plus (and at times crucial). Also MATLAB and C will be needed for your projects and home works. LATEX is a must for some of the projects (scribe) and reports.
S.D. Blostein
This is a general introduction to the theory and application of detection and estimation involving probabilistic / statistical inference as needed for engineering problems, focusing on systems involving signal processing, communications, biomedical, control, tracking, radar and navigation systems. Formulations and methodologies for the solutions of problems as well as understanding of underlying assumptions and limitations of concepts presented are emphasized. It it assumed that students have had prior exposure to basic concepts in probability and random processes as typically encountered in an upper-year undergraduate or entry-level graduate course. It also assumed that students have had exposure to signals and systems including linear time invariant systems, filtering and frequency domain descriptions as found in a core ECE or related undergraduate program.
I.-M. Kim
This course introduces fundamental theories of multiple-input multiple-output (MIMO) communications systems and design of space-time codes. Topic includes: MIMO channel models; capacity of MIMO systems; transmit and receive diversity; design criteria for space-time codes; space-time block codes; space-time trellis codes; layered space-time codes; differential space-time block codes; combined space-time codes and interference suppression; super-orthogonal space-time codes; variable rate space-time block codes.
N. Manjikian
This course provides a comprehensive overview of shared-memory multiprocessing. Topics include: shared-memory programming, system and application software considerations, cache coherence protocols, memory consistency models, small-scale and large-scale shared-memory architectures, and case studies to explore practical considerations in multiprocessor systems ranging from single-chip implementations to scalable high-performance platforms.Three term hours; lectures. Winter. N. Manjikian
T. Dean
Design recovery is the extraction of a design model from the artifacts of an existing software system. This design model is used to continue the evolution of the system. The model can be used in the planning and impact analysis stage, while making the changes and to test the result. The extracted design model can also be used to automate each of these tasks to varying degrees. Topics include design models, design recovery techniques, software evolution tasks, the semantics of programming languages and execution environments, and source code transformation.
R. Grant
This course will provide students with understanding of the field of Extreme-scale Systems with an emphasis on Extreme-Scale networks. Students will learn the fundamentals of Extreme-scale systems networks and an ability to read, understand, discuss and critique research. Use cases like Scientific computing, AI/ML, big data and commercial applications will be discussed.
PREREQUISITES: ELEC 373 (networks) or equivalent. Pre-requisites may be waived with permission of the instructor.
A. Etemad
This course focuses on recent advances and computing trends in wearable technologies, mobile devices, the Internet of Things (IoT), smart homes, and smart vehicles. The history, background, and applications of these systems are reviewed, followed by the description of common sensing technologies often utilized in these devices. Signal/time-series analysis techniques, machine learning algorithms, and computing methods that are often utilized in such applications will be covered in detail. The course is highly applied and students will complete a project and present their results.
The course is an option for graduate students and the delivery will be primarily in the form of lectures, as well as student-led seminars and presentations. It is anticipated that this course will appeal to students from the Department of Electrical and Computer Engineering, as well as students from other departments such as Computing, Mechanical Engineering, and Mining.
X. Zhu
Human (or natural) language data permeate almost all aspects of our daily life. This course covers basic machine learning approaches to modelling natural language, including fundamental supervised and unsupervised methods for modelling sequences and structures in the data. Based on this, students learn how to develop various applications such as chatbots and information extraction systems. The course will also include state-of-the-art artificial intelligence and deep learning approaches to natural language processing.
Fourth year undergraduate courses listed below may be taken by MASc or MEng students for credit toward their program requirements, subject to the regulations set forth in the Departmental prescription for the MASc or MEng program, Smith Engineering at Queen's Graduate Council, and the School of Graduate Studies. PhD students cannot take fourth year undergraduate courses for credit toward their PhD program requirements, as per the Graduate Council Regulation 2.1.4.