Digital design techniques for integrated circuits. The emphasis will be on the design of logic gates at the transistor level. A number of different logic families will be described, but CMOS will be emphasized. Review of: device modeling, IC processing, and Spice simulation, simplified layout rules, inverter noise margins, transient response, and power dissipation, traditional CMOS logic design, transmission gates, RC timing approximations, input-output circuits, latches and flipflops, counters and adders, decoders and muxes, dynamic gates, SRAMs, DRAMs, and EEPROMs.
Electrical behaviour of semiconductor structures and devices. Metal-semiconductor contacts; pn junctions, diodes, photodetectors, LED's; bipolar junction transistors, Ebers-Moll and hybrid-pi models; field effect transistors, MOSFET, JFET/MESFET structures and models; thyristors and semiconductor lasers.
Design of digital hardware components and systems using a hardware description language (HDL). Testbench creation for digital systems. Timing analysis of single and multi-clock designs, both in theory and using computer-aided design (CAD) tools in which timing constraints are specified in a standard way. Numerical representation of values including both floating point and fixed-point representations. Arithmetic circuits for binary addition, subtraction, multiplication and division. Architecture of on-chip systems including processors or large-scale parallel computation structures. Connection between system-level components using on-chip buses, including standard buses. Pipelined Computation. Memory types, interfacing and direct memory access. Off-chip peripherals and communication protocols. Labs will include significant larger scale design on field-programmable gate arrays (FPGAs).
Operating system structures, concurrency, synchronization, deadlock, CPU scheduling, memory management, file systems. The laboratory exercises will require implementation of part of an operating system.
Design and analysis of algorithms and data structures that are essential to engineers in every aspect of the computer hardware and software industry. Recurrences, asymptotics, summations, trees and graphs. Sorting, search trees and balanced search trees, amortized analysis, hash functions, dynamic programming, greedy algorithms, graph algorithms, minimum spanning trees, shortest paths, introduction to Nondeterministic Polynomial (NP) completeness and complexity, and other new trends in algorithms and data structures including secure data processing, vulnerability analysis and risk mitigation.
Design and steady-state modeling of DC/DC and DC/AC (single- and three-phase) converters using modified-square-wave and pulse-width modulation. Three-phase, balanced connections and analysis of harmonics via superposition. Modeling of non-ideal components in power electronic converters to determine practical conversion ratios and efficiency. Energy conversion based on magnetic field interactions: Faraday's law for time varying fields, characterization of primary loss mechanisms (hysteresis and eddy currents) in magnetic materials, magnetic circuit analysis, transformer and inductor modeling and design. Introduction to electromechanical energy conversion: Lorentz Force, calculation of electromechanical forces in conservative systems using energy and co-energy, simple magnetic actuators and sensors, introduction to synchronous machines.
An explanation of the basic operation, design and limitations of semiconductor electronic devices, such as diodes and transistors. The topics covered include: electrons in semiconductors, semiconductors in equilibrium, transport of carriers, p-n diodes, metal-semiconductor contacts, bipolar junction transistors, metal-oxide-semiconductor (MOS) capacitors, and MOS field effect transistors. In addition, optoelectronic devices (e.g. photodiodes, light emitting diodes and lasers), semiconductor heterostructures, nanostructures (quantum dots, qubits) and transistor scaling will be discussed.
A continuation of some of the topics introduced in ECE253H1. Embedded system design: Input-output and the use of interrupts, peripherals and interfacing. Processor design: pipelining, integer and floating point arithmetic, cache hierarchies and memory organization. Design of combinational and sequential circuits in Verilog.
Operating system structure, processes, threads, synchronization, CPU scheduling, memory management, file systems, input/output, multiple processor systems, virtualization, protection, and security. The laboratory exercises will require implementation of part of an operating system.
A course on analog and digital electronic circuits. Topics include single-stage amplifiers, current mirrors, cascode amplifiers and differential pairs. Amplifier frequency response, feedback and stability are also covered. Digital CMOS logic circuits are introduced.
An introduction to continuous-time and discrete-time signals and systems. Topics include characterization of linear time-invariant systems, Fourier analysis, linear filtering, sampling of continuous-time signals, and modulation techniques for communication systems.
An introduction to dynamic systems and their control. Differential equation models of physical systems using transfer functions and state space models. Linearization. Initial and input response. Stability theory. Principle of feedback. Internal Model Principle. Frequencey response. Nyquist stability. Loop shaping theory. Computer aided design using MATLAB and Simulink.
An introduction to transmission lines: voltage and current waves, characteristic impedance, reflections from the load and source, transients on a transmission line, Smith's chart, impedance matching. Fundamentals of electromagnetic theory: Maxwell's equations, boundary conditions, wave equation and its solutions in lossless and lossy media. Constitutive relations and dispersion. Plane wave propagation, reflection and transmission at boundaries. Waveguides; propagating and evanescent waveguide modes and cut-off frequencies. Introduction to radiation and antennas.
Fundamentals of algorithm design and computational complexity, including: analysis of algorithms, graph algorithms, greedy algorithms, divide-and-conquer, dynamic programming, network flow, approximation algorithms, the theory of NP-completeness, and various NP-complete problems.
An introduction to electronics. Basic electronic circuits: introductory frequency-domain analysis, operational amplifiers, diodes, field-effect transistors, bipolar junction transistors, small-signal analysis, single-stage amplifiers.
Layered network architectures; overview of Transmission Control Protocol (TCP)/Internet Protocol (IP) suite and introduction to sockets. Packet switching based on datagram and virtual circuit switching. Logical link control: Retransmission strategies, framing and error control. Medium access control and local-area networks (LAN). LAN interconnection with bridges. Introduction to the control plane of the Internet, routing algorithms, and routing protocols (e.g., Open Shortest Path First (OSPF) and Border Gateway Protocol (BGP)). Transport protocols used on the Internet (e.g., Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)). Application-layer protocols (e.g., Domain Name System (DNS) and Hypertext Transfer Protocol (HTTP)). Elements of network security, security mechanisms on the Internet, known attacks and countermeasures.
An introductory course in analog and digital communication systems. Analog and digital signals. Probability and random processes. Energy and power spectral densities; bandwidth. Distortionless analog communication; amplitude, frequency and phase modulation systems; frequency division multiplexing. Sampling, quantization and pulse code modulation (PCM). Baseband digital communication; intersymbol interference (ISI); Nyquist's ISI criterion; eye diagrams. Passband digital communications; amplitude-, phase- and frequency-shift keying; signal constellations. Performance analysis of analog modulation schemes in the presence of noise. Performance analysis of PCM in noise.
This course will provide students with a grounding in optimization methods and the matrix algebra upon which they are based. The first past of the course focuses on fundamental building blocks in linear algebra and their geometric interpretation: matrices, their use to represent data and as linear operators, and the matrix decompositions (such as eigen-, spectral-, and singular-vector decompositions) that reveal structural and geometric insight. The second part of the course focuses on optimization, both unconstrained and constrained, linear and non-linear, as well as convex and nonconvex; conditions for local and global optimality, as well as basic classes of optimization problems are discussed. Applications from machine learning, signal processing, and engineering are used to illustrate the techniques developed.
This course will focus on different classes of probabilistic models and how, based on those models, one deduces actionable information from data. The course will start by reviewing basic concepts of probability including random variables and first and second-order statistics. Building from this foundation the course will then cover probabilistic models including vectors (e.g., multivariate Gaussian), temporal (e.g., stationarity and hidden Markov models), and graphical (e.g., factor graphs). On the inference side topics such as hypothesis testing, marginalization, estimation, and message passing will be covered. Applications of these tools cover a vast range of data processing domains including machine learning, communications, search, recommendation systems, finance, robotics and navigation.
This modular course introduces the foundations and evolving frontiers of cybersecurity. Delivered by a team of instructors with diverse expertise, the course offers both foundational grounding and a curated perspective on timely and emerging topics in cybersecurity. Through a combination of conceptual foundations and applied perspectives, students will develop core cybersecurity literacy and the analytical tools needed to understand and engage with contemporary threats and technologies. The curriculum is designed to be accessible by students from all disciplines.
Design and implementation of contemporary embedded systems, emphasizing hardware–software integration and system-level trade-offs. Interrupts, memory-mapped input/output (I/O), binary operations, and number representations with implications for embedded computation; peripheral interfacing and signal conversion (analog-to-digital converter (ADC)/digital-to-analog converter (DAC)); and serial communication protocols (universal asynchronous receiver-transmitter (UART), inter-integrated circuit (I²C), serial peripheral interface (SPI), universal serial bus (USB), controller area network (CAN)). Embedded memory systems, direct memory access (DMA), and fundamentals of real-time and concurrent programming, including operating systems and real-time operating systems (RTOS). Power-aware design and low-power central processing unit (CPU) states; wireless connectivity (Wi-Fi, Zigbee, Bluetooth Low Energy); and embedded security. Development workflows, debugging, and verification techniques support a culminating design project addressing performance, power, reliability, and networked embedded applications.
State space analysis of linear systems, the matrix exponential, linearization of nonlinear systems. Structural properties of linear systems: stability, controllability, observability, stabilizability, and detectability. Pole assignment using state feedback, state estimation using observers, full-order and reduced-order observer design, design of feedback compensators using the separation principle, control design for tracking. Control design based on optimization, linear quadratic optimal control, the algebraic Riccati equation. Laboratory experiments include computer-aided design using MATLAB and the control of an inverted pendulum on a cart.
An introduction to adaptive control and reinforcement learning for discrete-time deterministic linear systems. Topics include: discrete-time state space models; stability of discrete time systems; parameter adaptation laws; error models in adaptive control; persistent excitation; controllability and pole placement; observability and observers; classical regulation in discrete-time; adaptive regulation; dynamic programming; Rescorla-Wagner model; value iteration methods; Q-learning; temporal difference learning.
This course will provide students with an overview of continuous-time and discrete-time signal processing techniques, and the analysis and design of analog and mixed-signal circuit building blocks used in modern electronic systems. Topics covered include: analysis, specification, simulation, and design of continuous-time filters with linear transconductors and op-amps; phase-domain model, noise model, and design methodology for low phase noise Phase Lock Loops and associated building blocks (VCO, phase-frequency detector, charge pump); discrete-time signal analysis using z-transform; discrete-time filter design based on switched capacitors; as well as fundamentals, architectures, building blocks, and characterization techniques for digital-to-analog and analog-to-digital converters.
Basic concepts of digital communication. Baseband data transmission, intersymbol interference, Nyquist pulse shaping, equalization, line coding, multi-path fading, diversity. Binary and M-ary modulation schemes, synchronization. Signal space concepts, optimum receivers, coherent and noncoherent detectors. Information theory, source encoding, error control coding, block and convolutional codes.
Design issues in distributed systems: heterogeneity, security, transparency, concurrency, fault-tolerance; networking principles; request-reply protocol; remote procedure calls; distributed objects; middleware architectures; CORBA; security and authentication protocols; distributed file systems; name services; global states in distributed systems; coordination and agreement; transactions and concurrency control; distributed transactions; replication.
An Introduction to the basic theory, the fundamental algorithms, and the computational toolboxes of machine learning. The focus is on a balanced treatment of the practical and theoretical approaches, along with hands on experience with relevant software packages. Supervised learning methods covered in the course will include: the study of linear models for classification and regression, neural networks and support vector machines. Unsupervised learning methods covered in the course will include: principal component analysis, k-means clustering, and Gaussian mixture models. Theoretical topics will include: bounds on the generalization error, bias-variance tradeoffs and the Vapnik-Chervonenkis (VC) dimension. Techniques to control overfitting, including regularization and validation, will be covered.
Analysis and design of systems employing radio waves, covering both the underlying electromagnetics and the overall system performance aspects such as signal-to-noise ratios. Transmission/reception phenomena include: electromagnetic wave radiation and polarization; elementary and linear dipoles; directivity, gain, efficiency; integrated, phased-array and aperture antennas; beam-steering; Friis transmission formula and link budget. Propagation phenomena include: diffraction and wave propagation over obstacles; multipath propagation; atmospheric and ionospheric effects. Receiver design aspects include: radio receiver architectures, receiver figures of merit, noise in cascaded systems, noise figure, and noise temperature. System examples are: terrestrial communication systems; satellite communications; radar; radiometric receivers; software-defined radio.
Losses in conductors and dielectrics; RF and microwave transmission lines; transients on transmission lines; matching networks; planar transmission lines (microstrip, stripline, coplanar waveguide); design with scattering parameters; 3- and 4-port RF devices (power dividers/combiners, couplers, isolators & circulators); coupled lines and devices; microwave active circuits (RF amplifiers, mixers, and receiver front ends); RF and microwave filters. The hands-on laboratories engage students in the design, simulation, fabrication, and test of practical passive and active microwave circuits using industry-standard RF/microwave simulation tools and measurement systems.
The human visual interface is rapidly evolving with the emergence of smart glasses, AR/VR wearable display, and autonomous vehicles. This course examines the photonic devices and integrated systems that underline such technologies, and how they are shaped by human visual perception and acuity. Advanced integrated photonic systems in optical display and sensing will be deconstructed and the underlying fundamental concepts studied. Topics include introduction to: heads up and wearable display, optical lidar, optical fiber, waveguide circuits, holography, optical switches, light sources (LED, laser), detectors and imaging sensors.