The Computer Engineering Academic Curriculum
The curriculum involves a prescribed course load in each term. Laboratory sessions are compulsory where they form part of a course. Approval from the Electrical and Computer Engineering (ECE) Undergraduate Office is required for all changes from the specified plan. Permission to carry more than the normal load in any term is at the discretion of the ECE Undergraduate Office and is dependent on both the student's previous term average and their cumulative average.
There are six co-operative work terms and the normal rules of Co-operative Education apply, as further described in the Faculty of Engineering Work Terms page of this Calendar. At least five successful work terms are required to meet the degree requirements.
The promotion criteria used to determine progression through the plan are described in the Engineering Examinations and Promotions section of this Calendar. These include term-average requirements, course-grade requirements, and milestone requirements.
The term-by-term academic component of the curriculum is as follows:
Term 1A (Fall)
Term 1B (Winter Stream 8/Spring Stream 4F)
- ECE 102 Information Session
- ECE 106 Electricity and Magnetism
- ECE 108 Discrete Mathematics and Logic 1
- ECE 124 Digital Circuits and Systems
- ECE 140 Linear Circuits
- ECE 192 Engineering Economics and Impact on Society
- MATH 119 Calculus 2 for Engineering
Term 2A (Fall Stream 8/Winter Stream 4F)
Term 2B (Spring Stream 8/Fall Stream 4F)
- ECE 202 Information Session
- ECE 203 Probability Theory and Statistics 1
- ECE 207 Signals and Systems
- ECE 208 Discrete Mathematics and Logic 2
- ECE 224 Embedded Microprocessor Systems
- ECE 252 Systems Programming and Concurrency
- ECE 298 Instrumentation and Prototyping Laboratory
Term 3A (Winter Stream 8/Spring Stream 4F)
- ECE 301 Information Session
- ECE 318 Communication Systems
- ECE 327 Digital Hardware Systems
- ECE 350 Real-Time Operating Systems
- ECE 380 Analog Control Systems
- One CSE, NSE, or TE (see Note 1)
Term 3B (Fall)
- ECE 302 Information Session
- ECE 307 Probability Theory and Statistics 2
- One CSE, NSE, or TE (see Note 1)
- Choose two of the following four courses (see Note 2)
- Choose one additional course from ECE 313, ECE 320, ECE 331, ECE 351, ECE 356, ECE 358, ECE 360, ECE 373 that has not already been selected above provided prerequisites are met and subject to scheduling constraints.
Term 4A (Spring)
- ECE 401 Information Session
- ECE 498A Engineering Design Project or GENE 403 Interdisciplinary Design Project 1
- Four elective courses, CSE, NSE, or TE, as necessary (see Note 1)
Term 4B (Winter)
- ECE 402 Information Session
- ECE 498B Engineering Design Project or GENE 404 Interdisciplinary Design Project 2
- Four elective courses, CSE, NSE, or TE, as necessary (see Note 1)
Notes
- There are a total of 13 electives: eight technical electives (TEs), including three in the 3B term which must be chosen from a list, three complementary studies electives (CSEs), and two natural science electives (NSEs). Constraints on the selection of TEs, CSEs, and NSEs are explained below. As per the Engineering Examinations and Promotions rules, these electives form part of a regular course load.
- During the 3B term, students must select three technical courses from a list. These courses cannot be dropped for a reduced-load term.
- Special topics courses (ECE 493) are offered as resources and faculty interests permit. Students should consult the ECE Undergraduate Office or ECE website for upcoming topics. Some offerings may have laboratory meets.
Elective Courses
Complementary Studies Electives
Students must complete three complementary studies electives (CSEs) from the Complementary Studies Course Lists for Engineering. These are in addition to those courses that are part of the core curriculum and contain complementary studies material, such as COMMST 192/ENGL 192, ECE 190, ECE 192, and the Professional Development (PD) sequence. The three CSE courses are to be chosen according to the following constraints:
- Two courses from List C
- One course from any of List A, List C, or List D
Ethics Requirement
To meet the Ethics Requirement, students must pass one of PD 22 or PHIL 315. PHIL 315 satisfies both the ethics requirement and one of the List C CSE requirements described above.
Natural Science Electives
Students are required to complete two natural science electives (NSEs) and are responsible for ensuring they meet the minimum academic units. The two NSE courses must be primarily concerned with natural science and are in addition to the science components of the core curriculum, such as ECE 105, ECE 106, and ECE 109.
Technical Electives
Students are required to complete a total of eight technical electives (TEs), subject to the following conditions:
- All of the technical courses from the 3B term (i.e., ECE 313, ECE 320, ECE 331, ECE 351, ECE 356, ECE 358, ECE 360, and ECE 373) count as TEs. At least three of these courses must be taken in the 3B term, as specified in the curriculum above.
- At least three TEs must be courses chosen from ECE 406 through ECE 495 or ECE 499, normally taken during the 4A and 4B terms. A list of current 4A and 4B TEs is provided below.
- At least one TE, to a maximum of two, must be from another engineering (other than Electrical or Computer Engineering) plan; such courses must have sufficiently advanced engineering science or engineering design content to be allowed, and must be approved by the ECE Undergraduate Office. Some courses of interest may require prerequisite knowledge that is not part of the core curriculum in Computer Engineering. Students may require extra courses or may need to seek enrolment approval from the course instructor if the prerequisite knowledge was acquired by other means.
- The following courses are offered in the core curriculum in Electrical Engineering but are considered TE courses for Computer Engineering: ECE 260, ECE 340, and ECE 375. Some of these courses have prerequisites that must be met in order to enrol.
- In all terms, elective availability is subject to scheduling constraints.
The following TE courses are normally offered for the spring (4A) term. The list is subject to change from year to year.
- ECE 414 Wireless Communications
- ECE 433 Fabrication Technologies for Micro and Nano Devices
- ECE 445 Integrated Digital Electronics
- ECE 452/CS 446 Software Design and Architectures
- ECE 454 Distributed Computing
- ECE 455 Embedded Software
- ECE 457A Co-operative and Adaptive Algorithms
- ECE 457C Reinforcement Learning
- ECE 458 Computer Security
- ECE 462 Electrical Distribution Systems
- ECE 463 Design and Applications of Power Electronic Converters
- ECE 475 Radio-Wave Systems
- ECE 481 Digital Control Systems
- ECE 486 Robot Dynamics and Control
- ECE 493 Special Topics in Electrical and Computer Engineering (see Note 3)
The following TE courses are normally offered for the winter (4B) term. The list is subject to change from year to year.
- ECE 406 Algorithm Design and Analysis
- ECE 409 Cryptography and System Security
- ECE 416 Advanced Topics in Networking
- ECE 417 Image Processing
- ECE 423 Embedded Computer Systems
- ECE 432 Radio Frequency Integrated Devices and Circuits
- ECE 444 Integrated Analog Electronics
- ECE 451/CS 445 Software Requirements Specification and Analysis
- ECE 453/CS 447 Software Testing, Quality Assurance, and Maintenance
- ECE 457B Fundamentals of Computational Intelligence
- ECE 459 Programming for Performance
- ECE 464 High Voltage Engineering and Power System Protection
- ECE 467 Power Systems Analysis, Operations, and Markets
- ECE 474 Radio and Wireless Systems
- ECE 477 Photonic Devices and Systems
- ECE 488 Multivariable Control Systems
- ECE 493 Special Topics in Electrical and Computer Engineering (see Note 3)
- ECE 495 Autonomous Vehicle
The following project elective is offered every term. Students may take it, at most, once as a TE course.
Communications and Signal Processing Specialization
Students interested in pursuing this Specialization must achieve a minimum average of 60% in the specialization courses, and a minimum grade of 50% in each of the courses. Students who satisfy the requirements for Faculty Options, Specializations and Electives for Engineering Students will have the appropriate designation shown on their diploma and transcript.
Required courses:
Any three courses from the following list: