Undergraduate courses

**Important Note: Courses in Electrical and Computer Engineering are being renamed/renumbered effective May 2018. Please check our course changes page to see the new course numbers.**

Students currently registered in the program can visit course syllabi, notes and lab instructions for detailed course information.

Course
2018 Spring
Summer
Fall
2019 Spring
Summer
Fall
2020 Spring
ECE 216 - Electricity and Magnetism
ECE 220 - Electrical Properties of Materials
ECE 241 - Digital Design
ECE 242 - Discrete Structures in Engineering
ECE 250 - Linear Circuits I
ECE 255 - Introduction to Computer Architecture
ECE 260 - Continuous-Time Signals and Systems
ECE 299 - Introduction to ECE Design
ECE 300 - Linear Circuits II
ECE 310 - Digital Signal Processing I
ECE 320 - Electronic Devices I
ECE 330 - Electronic Circuits I
ECE 335 - Biosensors and Instrumentation
ECE 340 - Applied Electromagnetics and Photonics
ECE 350 - Communications Theory and Systems I
ECE 355 - Microprocessor-Based Systems
ECE 356 - Engineering System Software
ECE 360 - Control Theory and Systems I
ECE 365 - Applied Electronics and Electrical Machines
ECE 370 - Electromechanical Energy Conversion
ECE 380 - Electronic Circuits II
ECE 399 - Design Project I
ECE 403 - Engineering Design by Optimization ♦
ECE 404 - Microwaves and Fiber Optics ♦
ECE 405 - Error Control Coding and Sequences ♦
ECE 407 - Digital Signal Processing II ♦
ECE 410 - Power Electronics ♦
ECE 412 - Electronic Devices II ♦
ECE 417 - Software Defined Radio ♦
ECE 420 - Nanotechnology ♦
ECE 426 - Robotics ♦
ECE 434 - Biophotonics ♦
ECE 435 - Medical Image Processing ♦
ECE 440 - Human Factors in Engineering ♦
ECE 441 - Design of Digital and VLSI Systems ♦
ECE 448 - Hardware Security ♦
ECE 449 - Computer Systems and Architecture ♦
ECE 450 - Communications Theory and Systems II ♦
ECE 452 - Optical Communication Technology ♦
ECE 453 - Antennas and Propagation ♦
ECE 454 - Engineering Components for Wireless Systems ♦
ECE 455 - Real Time Computer Systems Design Project ♦
ECE 456 - Wireless and Mobile Communications ♦
ECE 457 - Parallel and Cluster Computing ♦
ECE 458 - Communication Networks ♦
ECE 459 - Applications of Digital Signal Processing Techniques ♦
ECE 460 - Control Theory and Systems II ♦
ECE 461 - Dynamics and Control of Switched Mode Power Supplies ♦
ECE 462 - Motor Drive Dynamics ♦
ECE 463 - Design and Analysis of Computer Networks ♦
ECE 466 - System-on-Chip Engineering for Signal Processing ♦
ECE 470 - Artificial Intelligence ♦
ECE 471 - Computer Vision ♦
ECE 481 - Analog VLSI Systems ♦
ECE 482 - Electrical Drive Systems ♦
ECE 483 - Digital Video Processing ♦
ECE 484 - Audio Signal Processing ♦
ECE 485 - Data Analysis and Pattern Recognition ♦
ECE 486 - Multiresolution Signal and Geometry Processing with Software Applications ♦
ECE 488 - Electrical Power Systems ♦
ECE 490 - Directed Studies
ECE 496 - Selected Topics in Computer Engineering
ECE 496A - Selected Topics in Computer Engineering
ECE 498 - Honours Thesis ♦
ECE 499 - Design Project II

Legend:
  • A check mark (✓) under a term indicates the course was or is being planned to be offered that term;
  • A ballot x (✗) under a term indicates the course was scheduled for the term but has been cancelled;
  • A document icon ( ) indicates the course was or is offered that term and a Syllabus for the course from the respective term is available by clicking the icon. If the icon follows the course title, it links to the latest available version of the syllabus;
  • A diamond (♦) beside the course title indicates the course is available as a 4 th year elective.
Course
2018 Spring
Summer
Fall
2019 Spring
Summer
Fall
2020 Spring
BME 201 - Quantitative Human Physiology
BME 335 - Biosensors and Instrumentation
BME 403 - Medical Image Processing
BME 434 - Biophotonics
BME 499 - Design Project II

Legend:
  • A check mark (✓) under a term indicates the course was or is being planned to be offered that term;
  • A ballot x (✗) under a term indicates the course was scheduled for the term but has been cancelled;
  • A document icon () indicates the course was or is offered that term and a Syllabus for the course from the respective term is available by clicking the icon. If the icon follows the course title, it links to the latest available version of the syllabus;
  • A diamond (♦) beside the course title indicates the course is available as a 4th year elective.
Course
2018 Spring
Summer
Fall
2019 Spring
Summer
Fall
2020 Spring
ENGR 120 - Design and Communication II
ENGR 121 - Design II

Legend:
  • A check mark (✓) under a term indicates the course was or is being planned to be offered that term;
  • A ballot x (✗) under a term indicates the course was scheduled for the term but has been cancelled;
  • A document icon () indicates the course was or is offered that term and a Syllabus for the course from the respective term is available by clicking the icon. If the icon follows the course title, it links to the latest available version of the syllabus;
  • A diamond (♦) beside the course title indicates the course is available as a 4th year elective.
Course
2018 Spring
Summer
Fall
2019 Spring
Summer
Fall
2020 Spring
SENG 310 - Human Computer Interaction
SENG 380 - Software Process and Management
SENG 399 - Design Project I
SENG 422 - Advanced Software Architecture ♦
SENG 426 - Software Quality Engineering ♦
SENG 440 - Embedded Systems ♦
SENG 460 - Practice of Information Security and Privacy ♦
SENG 461 - Network Security ♦
SENG 462 - Distributed Systems and the Internet ♦
SENG 468 - Software System Scalability
SENG 475 - Advanced Programming Techniques for Robust and Efficient Computing
SENG 480 - Topics in Software Engineering
SENG 490 - Directed Studies
SENG 499 - Design Project II

Legend:
  • A check mark (✓) under a term indicates the course was or is being planned to be offered that term;
  • A ballot x (✗) under a term indicates the course was scheduled for the term but has been cancelled;
  • A document icon ( ) indicates the course was or is offered that term and a Syllabus for the course from the respective term is available by clicking the icon. If the icon follows the course title, it links to the latest available version of the syllabus;
  • A diamond (♦) beside the course title indicates the course is available as a 4 th year elective.

Please refer to the respective department course information page for details regarding the course offering. The following courses are available as 4th year electives.

  • Computer science
    • SENG 410 - Media Applications
    • SENG 466 - Software for Embedded and Mechatronics Systems
  • Mechanical engineering
    • MECH 410 - Computer Aided Design
    • MECH 458 - Mechatronics
    • MECH 460 - Computer Aided Manufacturing
    • MECH 464 - Mechatronics Design Project
    • MECH 466 - Microelectromechanical Systems