E L E C T R I C A L A N D C O M P U T E R E N G I N E E R I N G
Notes
- The Department reserves the right, where pre-enrolment in a course is less than twenty, to cancel the course.
- In extraordinary cases, an instructor may override the prerequisite conditions listed below.
- The terms in which fourth-year courses are offered, and the selection of fourth-year courses, are occasionally changed, with updates appearing in a future edition of the Calendar.
Course ID: 015812
Work-term Reflections
This course requires a two-page report where students reflect on the experience gained during the first co-op term. Students identify the requirements in their job where they were able to practice engineering, how theory learned in academic terms was applied to solve problems in the work place, and significant contributions they made during their work term. If students did not secure a co-op position, they are to reflect on how they used their time to update their skills. The report template is accessed online and is submitted online.
[Note: This course is graded as CR/NCR. Offered: F,S]
Prereq: Computer and Electrical Engineering students
Course ID: 015813
Work-term Reflections
This course requires a two-page report where students reflect on the experience gained during the second co-op term. Students identify the requirements in their job where they were able to practice engineering, how theory learned in academic terms was applied to solve problems in the work place, and significant contributions they made during their work term. If students did not secure a co-op position, they are to reflect on how they used their time to update their skills. The report template is accessed online and is submitted online.
[Note: This course is graded as CR/NCR. Offered: W,S]
Prereq: Computer and Electrical Engineering students
Course ID: 015814
Work-term Reflections
This course requires a two-page report where students reflect on the experience gained during the third co-op term. Students identify the requirements in their job where they were able to practice engineering, how theory learned in academic terms was applied to solve problems in the work place, and significant contributions they made during their work term. If students did not secure a co-op position, they are to reflect on how they used their time to update their skills. The report template is accessed online and is submitted online.
[Note: This course is graded as CR/NCR. Offered: F,W]
Prereq: Computer and Electrical Engineering students
Course ID: 015815
Work-term Reflections
This course requires a two-page report where students reflect on the experience gained during the fourth co-op term. Students identify the requirements in their job where they were able to practice engineering, how theory learned in academic terms was applied to solve problems in the work place, and significant contributions they made during their work term. If students did not secure a co-op position, they are to reflect on how they used their time to update their skills. The report template is accessed online and is submitted online.
[Note: This course is graded as CR/NCR. Offered: F,S]
Prereq: Computer and Electrical Engineering students
Course ID: 015816
Work-term Reflections
This course requires a two-page report where students reflect on the experience gained during the fifth co-op term. Students identify the requirements in their job where they were able to practice engineering, how theory learned in academic terms was applied to solve problems in the work place, and significant contributions they made during their work term. If students did not secure a co-op position, they are to reflect on how they used their time to update their skills. The report template is accessed online and is submitted online.
[Note: This course is graded as CR/NCR. Offered: S]
Prereq: Computer and Electrical Engineering students
Course ID: 013166
Classical Mechanics
Forces in nature and Newton's laws, dynamics and circular motion, work, energy, and conservation of energy. Linear momentum and linear impulse, rotational dynamics. Oscillations; simple harmonic motion. Wave motion; traveling waves and standing waves. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering or Software Engineering
Course ID: 013167
Electricity and Magnetism
Electrostatics: electric field, flux, Gauss's Law, potential and potential energy. Capacitors: dielectric, capacitance, electric energy storage. Resistors: charge flow, current, resistance. Magnetostatic: magnetic force, magnetic fields, Ampere's Law. Inductors: magnetic flux, inductance, magnetic materials, magnetic energy storage. Time-varying fields: Faraday's Law, mutual inductance, simple motors and generators. [Offered: W,S]
Prereq: ECE 105; Level at least 1B Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: NE 241, PHYS 112 or 112L
Course ID: 015291
Discrete Mathematics and Logic 1
Introduction to discrete mathematics, including propositional/Boolean logic, syntax and semantics, proof theory, and model theory; set theory, relations and functions, combinatorics (counting techniques, permutations, and combinations), graph theory. Applications in electrical, computing, and software engineering. [Offered: W, S]
Prereq: ECE 150, MATH 117; Level at least 1B Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: ECE 103, 155, MATH 229, 239, 249
Course ID: 015817
Materials Chemistry for Engineers
This course will help students understand the relationship between the microstructure of common semiconductor and optoelectronic materials, and the electrical, optical, and magnetic properties exhibited by the materials. Topics include structure of atoms, models of the atom, electronic configuration, band theory, atomic bonding, dielectric properties, optical transparency, magnetic properties, molecular bonding, metals and alloys, and activation energy. [Offered: F,W]
Prereq: Level at least 2A Computer or Electrical or Software Engineering.
Antireq: CHEM 120
Course ID: 013168
Digital Circuits and Systems
Number systems and Boolean arithmetic. Boolean algebra and simplification of Boolean functions. Combinational circuits. Sequential circuits; design and implementation. Hardware description languages. Timing analysis. Implementation technologies. [Offered: W,S]
Prereq: Level at least 1B Computer Engineering or Electrical Engineering or Software Engineering
Course ID: 013169
Linear Circuits
Analysis of linear circuits. Voltage, current, resistance, capacitance, inductance, voltage source, current source, dependent sources, Ohm's Law, Kirchhoff's Laws, nodal analysis, mesh analysis, circuit transformations, operational amplifier circuits, time response, sinusoidal steady-state response. Preparing for, conducting, and reporting of laboratory experiments. [Offered: W,S]
Prereq: Level at least 1B Computer Engineering or Electrical Engineering or
Software Engineering.
Antireq: AE/CIVE/ENVE/GEOE 123, GENE 123, ME 123, MTE 120, NE 140
Course ID: 004750
Fundamentals of Programming
Software design process in a high-level programming environment. Programming fundamentals, language syntax, simple data types, control constructs, functions, parameter passing, recursion, classes, arrays and lists, list traversals, introduction to searching and sorting algorithms, basic object-oriented design, polymorphism and inheritance, simple testing and debugging strategies, pointers and references, basic memory management. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering.
Antireq: CIVE 121, MTE 121/GENE 121, NE 113, SYDE 121
Course ID: 013170
Engineering Design with Embedded Systems
Introduction to embedded systems, review of engineering design and analysis principles, software development life cycle, integrated development environments, use of software requirements and specifications, unified modelling language and documentation, event handling, simulation, project management, project scheduling, testing, verification, and maintenance considerations. [Offered: W,S]
Prereq: ECE 150; Level at least 1B Computer Engineering or Electrical Engineering.
Course ID: 015292
Engineering Profession and Practice
Introduction to electrical and computer engineering with an emphasis on the profession of engineering, and engineering design. Topics include engineering design, safety, risk analysis, engineering data analysis, project management, sustainability, business, entrepreneurship, and intellectual property. Additional topics include co-op fundamentals for engineering students, professional development, and diversity training with a goal of understanding the roles and responsibilities of the professional engineer in society. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering.
Antireq: ECE 100A
Course ID: 015628
Engineering Economics and Impact on Society
This course teaches engineering economics and the impact of engineering on the society at large. Important concepts of engineering economics including cash flow diagrams, present worth, quantification of impact costs, and rate of return analysis are presented. This course discusses real-life engineering cases that cover the above aspects, and provide a broad perspective on the issues. Energy supply scenarios and the environment, global energy use and supply, and environmental impacts of engineering projects are discussed. [Offered W, S]
Prereq: Level at least 1B Computer or Electrical Engineering
Course ID: 015989
Project Studio
A design project integrating content from physics, math, and programming courses. Topics include engineering design process, problem definition, risk analysis, design specification, system modelling and analysis, engineering data analysis, project management, and prototyping. Students work in teams to build and test a prototype. Safety orientation training including WHMIS assessment, is included in this course. [Offered: F]
Prereq: Level 1A Computer Engineering or Electrical Engineering
Course ID: 015629
Probability Theory and Statistics 1
Ensemble model of randomness. Conditional probability, independence, and Bayes' theorem. Random variables, probability distribution functions. Expected values. Collections of random variables, joint and marginal probability distributions, and correlation. Introduction to random processes. [Offered: F, S]
Prereq: ECE 103, (ECE 205 or MATH 211), MATH 119; Level at least 2B Computer or Electrical Engineering.
Antireq: ECE 306, 316
Course ID: 004752
Numerical Methods
Application of computational methods to engineering problems. Number systems, errors and error propagation. Roots of nonlinear equations. Introduction to numerical linear algebra. Interpolation and numerical integration. Introduction to numerical solutions of ordinary differential equations, optimization. Emphasis will be placed on algorithm development. [Offered: F, W]
Prereq: Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: AMATH 342, CS 370, 371, ECE 204A, 204B, MTE 204
Course ID: 014941
Numerical Methods 1
Application of computational methods to engineering problems. Number systems, errors and error propagation. Roots of nonlinear equations. Introduction to numerical linear algebra. Interpolation and numerical integration. [Offered: F, W]
Department Consent Required
Prereq: Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: ECE 204
Course ID: 014942
Numerical Methods 2
Application of computational methods to engineering problems. Introduction to numerical solutions of ordinary differential equations, optimization. [Offered: F, S]
Department Consent Required
Prereq: Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: ECE 204
Course ID: 006891
Advanced Calculus 1 for Electrical and Computer Engineers
Fourier series. Ordinary differential equations. Laplace transform. Applications to linear electrical systems. [Offered: F,W]
Prereq: 2A Electrical Engineering or Computer Engineering
(Cross-listed with MATH 211)
Course ID: 006892
Adv Calculus 2 for Electrical Engineers
Triple integrals, cylindrical and spherical polar coordinates. Divergence and curl, applications. Surface integrals, Green's, Gauss' and Stokes' theorems, applications. Complex functions, analytic functions, contour integrals, Cauchy's integral formula, Laurent series, residues. [Offered: F,S]
Prereq: 2B Electrical Engineering or Computer Engineering
(Cross-listed with MATH 212)
Course ID: 013171
Signals and Systems
Discrete, continuous and periodic signals, time- and frequency-domain analysis of continuous- and discrete-time linear systems, periodic signals and Fourier series, non-periodic signals, and Fourier transforms. [Offered: F,S]
Prereq: (ECE 140, 240; Level at least 2B Computer Engineering or Electrical Engineering) or (ECE 140, MATH 213; Level at least 3A Software Engineering)
Course ID: 015300
Discrete Mathematics and Logic 2
Formal logics, methods, and associated tools, and their uses in specifying, synthesizing, and verifying computing systems. Predicate logic. Temporal logic. Relational logic. Set theory. Proof theory. Model theory. Graph theory. Formal models of computation. Applications in computer and software engineering. [Offered: F, S]
Prereq: ECE 108; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: CS 245/245E, SE 212
Course ID: 004755
Digital Computers
Computer organization. Memory units, control units, I/O operations. Assembly language programming, translation and loading. Arithmetic logic units. Computer case studies. [Offered: F, W]
Prereq: ECE 124; (CS 115 or 135 or 137 or 145 or ECE 150); Level at least 2A Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option
Course ID: 013172
Embedded Microprocessor Systems
Microprocessor system architecture, bus systems, memory systems, peripherals, parallel interfaces, serial interfaces, analog interfaces, data transfer, synchronization, error detection/correction, testing and debugging. [Offered F, W, S]
Prereq: (ECE 124, 222; Level at least 2B Computer Engineering or 2B Electrical Engineering) or (ECE 124, 222; Level at least 3A Software Engineering).
Antireq: MTE 325
Course ID: 016002
Semiconductor Physics and Devices
Introduction to the physical principles and electrical behavior of semiconductor materials and devices; electronic band structure, charge carriers, doping, carrier transport, pn-junctions, metal-oxide-semiconductor capacitors, transistors, and bipolar junction devices. [Offered: F,S]
Prereq: ECE 106, 109; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: NE 242
Course ID: 013173
Electronic Circuits 1
Introduction to electronic signal processing; second-order circuits; operational amplifier circuits; diode device and circuits; metal-oxide-semiconductor (MOS) biasing networks; load-line analysis; diode and MOS small-signal equivalent circuits; single-stage small-signal MOS amplifiers; complementary metal-oxide-semiconductor (CMOS) logic circuits. [Offered: F, W]
Prereq: ECE 106, 140, MATH 119; Level at least 2A Computer Engineering or Electrical Engineering or Software Engineering.
Coreq: (ECE 205 or MATH 211 or MATH 213)
Course ID: 013174
Electronic Circuits 2
Electronic circuits and their limitations, including; differential pairs, biasing, the cascode configuration and active loads. Differential and multistage amplifiers. Feedback, stability and compensation. CMOS logic circuits. [Offered: F, S]
Prereq: ECE 240, (ECE 205 or MATH 211); Level at least 2B Computer Engineering or Electrical Engineering.
Coreq: ECE 207.
Antireq: ECE 340
Course ID: 004759
Algorithms and Data Structures
Data structures, abstract data types, recursive algorithms, algorithm analysis, sorting and searching, and problem-solving strategies. [Offered: F,W]
Prereq: Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: CS 234, 240/240E, 341, SE 240
Course ID: 015301
Systems Programming and Concurrency
Processes and threads (pthreads); system calls; concurrency (semaphore, mutex, monitors, and barrier synchronization); user-level memory management. Performance and correctness of concurrent systems. Deadlock detection and recovery; file systems. [Offered: F, S]
Prereq: ECE 250; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: CS 343, 350, ECE 254, SE 350
Course ID: 013175
Operating Systems and Systems Programming
Concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, synchronization, and concurrency; memory management, segmentation, and paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; protection, security, and privacy. [Offered: F,S]
Prereq: ECE 103, 150, 155, 250; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: CS 343, 350, MTE 241, SE 350
Course ID: 015302
Electromechanical Energy Conversion
Power systems and their fundamental components and models. Introduction to the principles of electromechanical energy conversion, including transformers and rotating machines, in particular (direct current) dc, induction and synchronous machines. [Offered: F, S]
Prereq: ECE 106; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: ECE 261, 361, ME 269, MTE 320
Course ID: 015294
Probability Theory and Statistics
Ensemble model of randomness. Conditional probability, independence, and Bayes' theorem. Random variables, probability distribution functions. Expected values. Collections of random variables, joint and marginal probability distributions, and correlation. Introduction to Statistics. Confidence intervals. Estimation. Chi-squared test. p-values. [Offered: W, S]
Prereq: ECE 103, (ECE 205 or MATH 211), MATH 119; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: ECE 316
Course ID: 015630
Probability Theory and Statistics 2
This course provides in depth knowledge of statistics motivated by electrical and computer engineering applications. Use of modern statistical software tools is introduced. Topics include sufficient statistics, exponential families, hypothesis testing, error estimation, confidence intervals, chi-square tests, analysis of variance, regression, correlation, decision theory, and Bayesian and non-Bayesian statistics. [Offered: F, W]
Prereq: ECE 203; Level at least 3B Computer or Electrical Engineering.
Antireq: STAT 330, 331, 332
Course ID: 004784
Digital Signal Processing
Fourier representations in discrete and continuous time. Discrete Fourier transform and fast Fourier transform algorithms. Sampling theory. Sampling and quantization errors. Transform analysis of linear time-invariant systems. Filter design. Discrete Hilbert transform. Introduction to filter banks and discrete wavelet transform. [Offered: F]
Prereq: (Level at least 3B Computer Engineering or Electrical Engineering) or (MATH 213, STAT 206; Level at least 3B Software Engineering).
Antireq: ECE 413
Course ID: 004769
Communication Systems
Introduction to random processes, power spectral density. Thermal noise and the white noise model. Amplitude and angle modulation, generation and detection schemes. Sampling and reconstruction, quantization. Digital baseband transmission. Overview of digital passband communications. [Offered: W, S]
Prereq: ECE 203, 207, (ECE 205 or MATH 211); Level at least 3A Computer Engineering or Electrical Engineering
Course ID: 015295
Computer Architecture
Organization and performance of uniprocessors, pipelined processors, dynamically scheduled processors, parallel processors and multiprocessors; memory and cache structures; multiprocessor algorithms and synchronization techniques; special-purpose architectures. [Offered: F]
Prereq: CS 354 or ECE 222; Level at least 3B Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option.
Antireq: ECE 429
Course ID: 004786
Digital Hardware Systems
Design and modelling of digital hardware systems using a hardware description language. Development process. Impact of implementation technologies. Performance analysis and optimization. Functional verification. Timing analysis. Power analysis and optimization. Faults and testability. Reliability and fault tolerance.[Offered: W, S]
Prereq: (ECE 222 or MTE 241); (ECE 124 or MTE 262) or (SYDE 192 and SYDE 192L); Level at least 3A Computer Engineering or Electrical Engineering or Mechatronics Engineering or Software Engineering or Systems Design Eng or Computer Science/Digital Hdw Op
Course ID: 013177
Electronic Devices
Review of band theory and doped semiconductors in thermal equilibrium, charge neutrality, mass action law, recombination and transport mechanisms, Boltzmann relations. Device theory and modelling of p-n junction diode and derivation of dc and ac characteristics, charge storage effects. Principles, device theory, and modelling of metal-oxide semiconductor field-effect transistors (MOSFETs), and the derivation of threshold voltage, dc current characteristics, small signal ac models. Principles of bipolar transistor and derivation of dc and ac terminal characteristics, equivalent circuits. [Offered: F]
Prereq: ECE 109; Level at least 3B Computer Engineering or Electrical Engineering
Course ID: 015296
Electronic Circuits 2
Electronic circuits and their limitations including, metal-oxide-semiconductor (MOS) and bipolar junction transistor (BJT) differential pairs, biasing, the cascode configuration and active loads. Differential and multistage amplifiers. Feedback, stability, and compensation. [Offered: W, S]
Prereq: Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: ECE 242, NE 344
Course ID: 015297
Real-Time Operating Systems
Memory and virtual memory and caching; I/O devices, drivers, and permanent storage management; process scheduling; queue management in the kernel; real-time kernel development. Aspects of multi-core operating systems. [Offered: W, S]
Prereq: ECE 252; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: CS 350, ECE 254, SE 350
Course ID: 013178
Compilers
Programming paradigms, compilation, interpretation, virtual machines. Lexical analysis, regular expressions, and finite automata. Parsing, context-free grammars, and push-down automata. Semantic analysis, scope and name analysis, type checking. Intermediate representations. Control flow. Data types and storage management. Code generation.
[Note: Electrical Engineering students with at least 80% in ECE 108 will be granted an override for ECE 208 prerequisite on the understanding that they will need to make up missed material from ECE 208 on their own. Offered: F]
Prereq: ECE 250; One of CS 245/245E or ECE 208 or SE 212
Course ID: 013179
Database Systems
Data models, file systems, database system architectures, query languages, integrity and security, database design.
[Note: Electrical Engineering students with at least 80% in ECE 108 will be granted an override for ECE 208 prerequisite on the understanding that they will need to make up missed material from ECE 208 on their own. Offered: F]
Prereq: ECE 250; One of CS 245/245E or ECE 208 or SE 212.
Antireq: CS 348/448
Course ID: 013180
Computer Networks
This course is a comprehensive introduction to computer networks. The focus is on the concepts, the protocols, and the fundamental design principles that have contributed to the success of the internet. Topics include history of the Internet, transmission media and technologies, switching and multiplexing, protocols and layering, wired and wireless LAN (local-area networks), congestion/flow/error control, routing, addressing, internetworking (Internet) including TCP (transmission control protocol). [Offered: F]
Prereq: One of BME 213, ECE 203, MTE 201, NE 215, STAT 206, SYDE 212
Course ID: 015298
Power Systems and Smart Grids
Fundamentals of power systems, analysis techniques including power flow and symmetrical fault analyses, and the basics of distribution systems and smart grids. [Offered: F]
Prereq: Level at least 3B Engineering.
Antireq: ECE 361, 362
Course ID: 013181
Power Systems and Components
This course is an introduction to basic modeling and analysis techniques in electricity generation, transmission and distribution, including basic concepts in nonlinear system analysis. Functional descriptions and modeling of generators, transformers, transmission lines, motors and other loads are discussed. Power flow analysis techniques are studied in detail, from the basic equations to their use in power networks. Fault analysis and basic protection concepts are also discussed. [Offered: F]
Prereq: ECE 106, 140; Level at least 3B Computer Engineering or Electrical Engineering.
Antireq: ECE 260, 360
Course ID: 015299
Radio Frequency and Microwave Circuits
Review of transmission line and scattering matrix representation of radiofrequency (RF) circuits, multiport RF networks, modern RF and microwave planar technology, lumped and distributed microstrip circuits, microwave couplers, Hybrids, resonators, filters, Low-noise amplifiers (LNAs), RF oscillators and mixers, computer-aided design (CAD) tools for RF circuits, hybrid and monolithic RF circuits. [Offered: F]
Prereq: ECE 375 and (ECE 206 or MATH 212); Level at least 3B Computer Engineering or Electrical Engineering.
Antireq: ECE 473
Course ID: 013187
Electromagnetic Fields and Waves
Maxwell's equations; plane waves; time-harmonic fields; waves at planar boundaries; boundary conditions; reflection and transmission; transmission lines; electric fields in matter; magnetic fields in matter. [Offered W, S]
Prereq: ECE 106, (ECE 206 or MATH 212); Level at least 3A Computer Engineering or Electrical Engineering
Course ID: 004779
Analog Control Systems
Introduction to control systems. Advantages of closed-loop feedback systems. The role of the system mathematical model. Block diagrams and signal flow graphs. The basic control system design problem, stability in control systems. Frequency response analysis techniques. Root-locus analysis. Elementary lead-lag compensation. [Offered: W, S]
Prereq: (ECE 207; Level at least 3A Computer Engineering or Electrical Engineering) or (MATH 213; Level at least 3A Software Engineering).
Antireq: ME 360, MTE 360, SE 380, SYDE 352
Course ID: 015303
Thermal Physics
Temperature and thermodynamic equilibrium. Work, internal energy and heat; first law, with examples. Kinetic theory of gases. Basic probability theory. Microscopic states and entropy. Absolute temperature, reversibility and the second law. Thermodynamic Functions and Maxwell's relations. Phase transitions. Third Law. Other applications of thermodynamics. [Offered: F, S]
Prereq: (ECE 105, 106) or (PHYS 112 or 122); (ECE 205 or MATH 211) or ((MATH 227 or 237 or 247) and (MATH 228 or AMATH 250 or 251)).
Antireq: CHEM 254, MTE 309, ME 250, 354, PHYS 358, SYDE 381
Course ID: 015304
Geometrical and Physical Optics
Electromagnetic waves and the nature of light. Geometrical optics, aberrations. Physical optics: interference, Fraunhofer and Fresnel diffraction, polarization. Optical instruments. [Offered: S]
Prereq: (One of PHYS 112, 122) or (ECE 105, 106); (One of MATH 108, 119, 128, 138, 148).
Antireq: PHYS 226, 246, 256
Course ID: 015305
Introduction to Quantum Mechanics
Introduction to quantization, wave-particle duality and the uncertainty principle. The Schroedinger equation and solvable examples. Topics include stationary states of particle-in-a-box, harmonic oscillator and the hydrogen atom. Quantization of angular momentum and spin. Introduction to approximation methods including time-independent perturbation theory. Modern applications of quantum mechanics. [Offered: W]
Prereq: ECE 105, 106, MATH 117, (ECE 205/MATH 211 or MATH 213).
Antireq: AMATH 373, CHEM 356, NE 232, PHYS 233, 234
Course ID: 010053
Algorithm Design and Analysis
Design and analysis of efficient, correct algorithms. Advanced data structures, divide-and-conquer algorithms, recurrences, greedy algorithms, dynamic programming, graph algorithms, search and backtrack, inherently hard and unsolvable problems, approximation and randomized algorithms, and amortized analysis. [Offered: W]
Prereq: One of BME 122, ECE 250, MTE 140, SYDE 223.
Antireq: CS 341, 466, SYDE 423
Course ID: 010055
Cryptography and System Security
Introduction to cryptology and computer security, theory of secure communications, points of attack, conventional cryptographic systems, public key cryptographic systems, standards, firewalls, wireless system security, applications. [Offered: W]
Prereq: ECE 358; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CO 487, CS 458
Course ID: 004785
Wireless Communications
Overview of wireless communications including standards. Characterization of mobile radio propagation channels. Signal representations. Transmission and reception techniques for wireless channels. Fundamentals of cellular communications and multiple-access schemes. [Offered: S]
Prereq: ECE 306, 318, Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 013432
Advanced Topics in Networking
This course introduces advanced topics in networking with a focus on applications and wireless technologies. Topics include: Cellular networks (2G, 3G, 4G and beyond), applications (Domain Name System [DNS], Simple Mail Transfer Protocol[SMTP], Post Office Protocol [POP], Internet Message Access Protocol [ IMAP], Hypertext Transfer Protocol [HTTP]) and socket programming, Content-centric networks (content delivery networks, peer-to-peer protocols, data centers, etc.), protocols for multimedia applications (Session Initiation Protocol [SIP], Real-time Transport Protocol [RTP], RTP Control Protocol [RTCP]), emerging technologies (Internet of Things, sensors, software defined networks), policy issues (network neutrality, who controls the Internet?). [Offered W]
Prereq: ECE 358, Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 456
Course ID: 013433
Image Processing
This course introduces the basic theories and methodologies of digital image processing. Topics include intensity transformations for image enhancement, two-dimensional discrete Fourier transform, spatial and frequency domain linear image filtering, nonlinear image filtering, binary image processing, edge detection, image segmentation, and digital video processing basics. [Offered: W]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: SYDE 575
Course ID: 013435
Embedded Computer Systems
Specification and design of embedded systems, specification languages, hardware/software co-design, performance estimation, co-simulation, verification, validation, embedded architectures, processor architectures and software synthesis, system-on-a-chip paradigm, retargetable code generation and optimization, verification and validation, environmental issues and considerations. [Offered: W]
Prereq: (ECE 254 or SE 350), (ECE 224 or MTE 325), ECE 327; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: SYDE 524
Course ID: 013436
Radio Frequency Integrated Devices and Circuits
An introduction to the theory and practice of Radio Frequency (RF) Integrated Circuit design. Physics and modelling of RF integrated components such as resistor, inductor, capacitor (RLC) passives, diodes, metal oxide semiconductor field-effect transistors (MOSFETs), high electron mobility transistors, hetero-junction bipolar transistors. RF integrated components properties and representation such as short channel effects, noise parameters, transit frequency (ft), maximum frequency of oscillation (fmax), and quality factor. [Offered: S]
Prereq: (ECE 242 or 340); Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 013437
Fabrication Technologies for Micro and Nano Devices
Processes for micro and nanoelectronic fabrication. Semiconductor crystal growth. Thin films by chemical and physical vapor deposition. Epitaxial growth. Plasma-assisted and wet-chemical etch processes. Nano-structured material synthesis. Junction formation. Dielectric layer growth. Photolithography. Patterning on the nano-scale. Fabrication processes for transistors, complementary metal-oxide semiconductor (CMOS), and thin film devices. Micro-electro-mechanical systems (MEMS) technology. Process techniques for nanoelectronic devices. [Offered: W]
Prereq: ECE 109; Level at least 4A Computer Engineering or Electrical Engineering.
Antireq: NE 343
Course ID: 013438
Integrated Analog Electronics
Analog electronics exploits the physical behaviour of electronic devices to create electronic systems. The performance of single and multiple transistor amplifying stages are studied. Followed by a study of biasing, current mirror, and output stages, which are then combined in the study of operational amplifier circuits. Frequency response and feedback are then reviewed leading to a detailed study of stability and compensation for multistage and operational amplifiers. The course finishes with a look at selected topics from A/D (analog-to-digital) converters, oscillators, and phase-locked loops. [Offered: W]
Prereq: (ECE 242 or 340); Level at least 4A Computer Engineering or Electrical Engineering.
Antireq: MTE 421
Course ID: 013439
Integrated Digital Electronics
Review of the Metal-Oxide Semiconductor (MOS) transistor: Static and dynamic behavior, short channel effects, scaling trends, Simulation Program with Integrated Circuit Emphasis (SPICE) models. Complementary Metal-Oxide Semiconductor (CMOS) inverter; combinational CMOS circuit design - logic styles for low power, high performance circuits; sequential CMOS circuit design - flip-flops, pipelines, Schmitt trigger; CMOS arithmetic circuits; interconnect parasitic; clocking and timing considerations in digital Very Large Scale Integration (VLSIs). [Offered: S]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 004413
Software Requirements Specification and Analysis
Introduces students to the requirements definition phase of software development. Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work.]
Prereq: ECE 250; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: SE 463
(Cross-listed with CS 445)
Course ID: 004414
Software Design and Architectures
Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work.]
Prereq: ECE 250; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: CS 430, SE 464
(Cross-listed with CS 446)
Course ID: 004416
Software Testing, Quality Assurance, and Maintenance
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work.
Prereq: ECE 250; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: SE 465
(Cross-listed with CS 447)
Course ID: 004801
Distributed Computing
Principles of distributed computing; architectures and middleware; servers, processes, and virtualization; upper-layer network protocols, interprocess communication and remote procedure calling; concurrency, synchronization and distributed algorithms, dependable distributed systems and fault tolerance. [Offered: S]
Prereq: (ECE 252 or SE 350); Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Coreq: ECE 358 Software Engineering only.
Antireq: CS 454, 654
Course ID: 004802
Embedded Software
Concepts, theory, tools, and practice to understand, design, and write embedded software. This course covers computing elements, structures in embedded software, resource access protocols, uniprocessor scheduling, programming-language support, languages for MDD (model-driven development), worst-case execution time analysis, and overview of embedded distributed systems. [Offered: S]
Prereq: ECE 350 or SE 350; Level at least 4A Electrical Engineering or Computer Engineering or Software Engineering
Course ID: 013441
Co-operative and Adaptive Algorithms
The course starts by addressing the ill-structured problems and need for computational intelligence methods. It introduces the concepts of heuristics and their use in conjunction with search methods, solving problems using heuristics and metaheuristics, constraints satisfaction. The course also introduces the concepts of co-operation and adaptations and how they are influencing new methods for solving complex problems. The course starts by illustrating how the concepts of co-operation and adaptation are manifested in nature and how such models are inspiring new types of solutions methods. Topics to be covered include search algorithms, game playing, constraints satisfaction, meta-heuristics, evolutionary computing methods, swarm intelligence, ant-colony algorithms, particle swarm methods, adaptive and learning algorithms and the use of these algorithms in solving continuous and discrete problems that arise in engineering applications. [Offered: S]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Mechatronics Engineering or Software Engineering
Course ID: 013442
Fundamentals of Computational Intelligence
Fundamentals and recent advances in computational intelligence. Building accurate models with collected data or rules bases. Model-based prediction and classification. Concepts in machine learning, supervised and unsupervised learning, artificial neural networks, deep learning, feature extraction, feature selection, dimensionality reduction, classification and clustering, support vector machines. Approximate reasoning based on fuzzy set theory. Performance metrics to assess the validity of produced models. Multiple examples and case studies such as autonomous driving, intelligent manufacturing, natural language understanding, speech recognition, computer vision, stock market prediction, disease early detection and diagnosis. [Offered: W]
Prereq: Level at least 4A Biomedical Engineering or Computer Engineering or Electrical Engineering or Management Engineering or Mechanical Engineering or Mechatronics Engineering or Software Engineering or Systems Design Eng.
Antireq: CS 486, SYDE 522
Course ID: 016244
Reinforcement Learning
Introduction to reinforcement learning (RL) theory and algorithms for learning decision-making policies in situations with uncertainty and limited information. Topics include Markov decision processes, classic exact/approximate RL algorithms such as value/policy iteration, Q-learning, State-action-reward-state-action (SARSA), Temporal Difference (TD) methods, policy gradients, actor-critic, and Deep RL such as Deep Q-Learning (DQN), Asynchronous Advantage Actor Critic (A3C), and Deep Deterministic Policy Gradient (DDPG). [Offered: S]
Prereq: One of BME 213, ECE 203, MTE 201, STAT 206, STAT 230, STAT 240, SYDE 212.
Antireq: ECE 493, Probablistic Reasoning and Reinforcement Learning
Course ID: 013443
Computer Security
Introduction to computer security. Models of security. Elementary cryptography. Software security, vulnerabilities, threats, defenses and secure-software development processes. Threats to networks and defenses. Security issues at the application layer. Secure design principles, techniques and security evaluation. Privacy, ethics and legal issues. [Offered: S]
Prereq: ECE 252 or SE 350; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 458
Course ID: 013471
Programming for Performance
Profiling computer systems; bottlenecks, Amdahl's law. Concurrency: threads and locks. Techniques for programming multicore processors; cache consistency. Transactional memory. Streaming architectures, vectorization, and SIMD. High-performance programming languages. [Offered: W]
Prereq: ECE 252 or SE 350; Level at least 4A Electrical Engineering or Computer Engineering or Software Engineering
Course ID: 013445
Electrical Distribution Systems
This course provides the students an understanding of the operation, analysis, and design of electric power distribution systems, starting with estimation of the loads on the network to the detail design of the distribution system networks. The primary objective of the course is to provide students with the skills to understand the analytical and design methods and modern tools for solution of problems associated with electric distribution system engineering. [Offered: S]
Prereq: Level at least 4A Engineering
Course ID: 004806
Design and Applications of Power Electronic Converters
Principles of power conditioning. Switching characteristics of power semiconductor devices. Computer simulation of power electronic circuits. Analysis, design, and applications of power converters. [Offered: S]
Prereq: Level at least 4A Engineering.
Antireq: MTE 420
Course ID: 004807
High Voltage Engineering and Power System Protection
The course provides the fundamentals concepts of generation and measurements of high voltage ac, dc, and impulses. Briefly introduces the students to basic conduction and breakdown mechanisms of insulating materials. The scope of this course also includes understanding the basic protection system, studying the principles for protecting different elements and studying different technologies used in designing protective relays. Exposure to several state-of-art high voltage testing techniques of power system components will ensure that students have knowledge of the industrial solutions to the management of the problems associated with overvoltage and the protection mechanisms used. [Offered: W]
Prereq: Level at least 4A Engineering
Course ID: 012581
Power Systems Analysis, Operations, and Markets
This course provides a basic understanding of the main issues relevant to the operation, analysis, and management of power grids, and gives an introduction to the functioning of electricity markets. The course covers the following main technical and economic issues relevant to system operators, utilities and analysts: power system economic operations; short-term operation of power systems; power flow; introduction to optimal power flows; overview of electricity markets; fault calculations; and basic concepts in power system stability and control. [Offered: W]
Prereq: Level at least 4A Engineering
Course ID: 004811
Radio and Wireless Systems
Modern transmitter and receiver architectures, Noise and linearity in radio and wireless systems, Design considerations of RF/microwave subsystems, radio and wireless system designs, CAD tools for radio and wireless systems, Antennas, Radio wave propagation models, Indoor radio, Satellite communication, Personal communication systems (PCSs). [Offered: W]
Prereq: ECE 375 and (ECE 206 or MATH 212); Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 013188
Radio-Wave Systems
Review of Maxwell's equations and uniform plane waves. Electromagnetic wave propagation, reflection and transmission through different uniform media, metallic waveguides, multilayer structures, radiation theory, transmitting and receiving antenna, antenna arrays and applications, simple radio-wave propagation models, radio transmission systems and wireless networks. [Offered: S]
Prereq: ECE 375 and (ECE 206 or MATH 212); Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 011045
Photonic Devices and Systems
Review of Maxwell's equations and electromagnetic plane waves, dielectric waveguides, optical fibers, lasers and photonic transmitters, photodetectors and photonic receivers, optical amplifiers, and photonic systems and networks. [Offered: W]
Prereq: ECE 375 and (ECE 206 or MATH 212); Level at least 4A Computer Engineering or Electrical Engineering
Course ID: 004813
Digital Control Systems
Performance specifications for design. Dynamic system modelling and basic system identification. Dealing with basic nonlinear effects. Sampled data systems. Discrete-time system stability and dynamic performance. Digital control system design: emulation methods, z-domain, frequency domain, pole placement. Implementation of digital controllers. [Offered: S]
Prereq: (ECE 380 or MTE 360 or SYDE 352; Level at least 4A Computer Engineering or Electrical Engineering or Systems Design Engineering) or (ECE 207, SE 380; Level at least 4A Software Engineering).
Antireq: ECE 484
Course ID: 011332
Digital Control Applications
Dynamic system modelling: linear, nonlinear, state-space, sample data systems, computer simulation, system identification. Discrete system stability and dynamic performance. Nonlinear system analysis, limit cycles. Digital control system design: emulation methods, z-domain, frequency domain, pole placement. Implementation of digital controllers. Laboratory projects in computer control of mechatronic and other systems. [Offered: F]
Prereq: (MTE 360; Level at least 4A Mechatronics Eng) or (ME 360; Mechanical Eng./Mechatronics Option) or (SYDE 352; Systems Design Eng/Mechtr Option).
Antireq: ECE 481
Course ID: 004816
Robot Dynamics and Control
Introduction to the study of robotics focusing on the mechanics and control of serial manipulators. Topics include rigid body motion, forward and inverse kinematics, differential kinematics, forward and inverse dynamics, trajectory generation, motion planning, and feedback control. [Offered: S]
Prereq:(ECE 380;Level at least 4A Comp or Elect Eng)or(SE 380;Level at least 4A Software Eng)or(MTE 360;Level at least 4A Mechatronics Eng)or(ME 360;Level at least 4A Mech Eng/Mechtr Opt)or(SYDE 352;Level at least 4A Sys Design Eng)
.Antireq:ME 547
Course ID: 011333
Multivariable Control Systems
Review of feedback control design fundamentals; SISO controller parameterizations; the fundamental effect of MIMO interaction; introduction to state-space models in continuous and discrete time; SISO techniques for MIMO design; optimal control; model-predictive control design; state estimation; decoupling, MIMO PID control design; applications in areas such as aerospace systems. [Offered: W]
Prereq:(ECE 380;Level at least 4A Comp or Elect Eng)or(SE 380;Level at least 4A Software Eng)or(MTE 360;Level at least 4A Mechatronics Eng)or(ME 360;Level at least 4A Mech Eng/Mechtr Opt)or(SYDE 352;Level at least 4A Sys Design Eng)
Course ID: 010059
Special Topics in Electrical and Computer Engineering
Special courses on advanced topics will be offered from time to time, when resources are available. For current offerings, inquire at the ECE Undergraduate Office or check the ECE website.
[Note: Some offerings may include a laboratory component. Offered: W,S]
Department Consent Required
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Mechatronics Engineering or Nanotechnology Engineering or Software Engineering
Course ID: 015999
Autonomous Vehicles
Autonomous driving system overview; computer vision basics, deep learning for perception, motion modelling and state estimation, localization and mapping, object tracking, behavioral planning and reinforcement learning, path planning and vehicle control, safety and verification and validation, adoption and impact. [Offered: W]
Prereq: Level at least 3B Computer Engineering or Electrical Engineering
Course ID: 013183
Engineering Design Project
Team-oriented design-project which comprises a significant design experience based on the knowledge and skills acquired by students in previous courses and on co-operative work terms. Development of the design specification and plan documents, followed by the initial design work. [Offered: F, W, S]
Prereq: ECE 390; Level at least 4A Computer Engineering or Electrical Engineering.
Course ID: 013184
Engineering Design Project
Completion of the design cycle started in ECE 498A and communication of the engineering design work. Submission of a written final report. Lecture-style technical presentation by group members. Poster-style technical presentation with group members available to discuss the project. [Offered: F, W, S]
Prereq: ECE 498A; Level at least 4B Computer Engineering or Electrical Engineering.
Course ID: 010040
Engineering Project
An engineering project requiring the student to demonstrate initiative and assume responsibility. The student will arrange for a faculty supervisor prior to registration. Students can propose their own topic. A project report is required at the end of the term.
[Note: The project is approved by a departmental course coordinator. Offered: F, W, S]
Department Consent Required
Prereq: Level at least 4A Computer Engineering or Electrical Engineering