The field of computer engineering shares foundations from science, mathematics, and computing. Students gain the breadth and depth of understanding necessary for lifelong learning in any area of computer engineering.
The Computer Engineering plan starts out pre-structured and shares a common 1A, 1B, and 2A terms with Electrical Engineering. As students progress through the curriculum and develop their interests, the plan provides students with choices that can further define their technical focus. The goal is to graduate students with solid core engineering competencies but highly customizable depth, breadth, and focus.
Academic Curriculum
The curriculum involves a prescribed course load in each term along with some academic milestones, which must be completed at or before specified times. 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 the Co-operative Education System apply, as further described in the Faculty of Engineering Work Terms page of this Calendar. With permission and co-ordination through the ECE Undergraduate Office, it is possible to create eight-month co-operative work terms by rearranging the term sequence. 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.
Notes
- Milestones have deadlines for successful completion and are shown in the terms where they are normally completed. Work-term Reflections courses (ECE 101A, ECE 101B, ECE 101C, ECE 101D, and ECE 101E) are credit/no credit (CR/NCR) as per Rule 11 of the Examinations and Promotions Rules. Further information is provided in the Work-term Reflections section.
- 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.
- Students may take any Professional Development (PD) course approved by the Faculty of Engineering. Students must complete PD 19 and PD 20, as well as three PD elective courses to satisfy degree requirements. Among the three PD elective courses, students can take PD 22 to satisfy the Ethics Requirement as explained below.
- During the 3B term, students must select three technical courses from a list. These courses cannot be dropped for a reduced-load term.
- In their 4A and 4B terms, students must enrol in the ECE 498A and ECE 498B sequence or the GENE 403 and GENE 404 sequence. ECE 498A and GENE 404, and ECE 498B and GENE 403 combinations are not allowed.
- Students in the Biomechanics Option or the Mechatronics Option must choose a compatible topic for their design project sequence in ECE 498A and ECE 498B. See the option description or option co-ordinator for details.
- 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.
Legend for the Tables Below
Key |
Description |
4F
|
Stream 4F
|
8
|
Stream 8
|
Cls |
Class, lecture, seminar, or information session
|
Tut |
Tutorial |
Lab |
Laboratory, or project
|
0-10 |
Number of hours per week for Class, Tutorial, or Laboratory |
The term-by-term academic component of the curriculum is as follows:
Term |
Course or Milestone |
Title and Notes |
Cls |
Tut |
Lab |
Academic Term
1A Fall
|
ECE 105 |
Classical Mechanics |
3 |
2 |
0 |
ECE 150 |
Fundamentals of Programming |
3 |
1 |
2 |
ECE 190 |
Engineering Profession and Practice |
3 |
0 |
0 |
ECE 198 |
Project Studio |
0 |
0 |
1.25 |
ENGL 192/ SPCOM 192 |
Communication in the Engineering Profession |
3 |
0 |
0 |
MATH 115 |
Linear Algebra for Engineering |
3 |
2 |
0 |
MATH 117 |
Calculus 1 for Engineering |
3 |
2 |
0 |
Workplace Hazardous Materials Milestone (see Note 1) |
Academic Term
1B Winter8, Spring4F |
ECE 101A4F |
Work-term Reflections (see Note 1) |
ECE 102 |
Information Session |
1 |
0 |
0 |
ECE 106 |
Electricity and Magnetism |
3 |
2 |
1.25 |
ECE 108 |
Discrete Mathematics and Logic 1 |
3 |
1 |
0 |
ECE 124 |
Digital Circuits and Systems |
3 |
1 |
1.25 |
ECE 140 |
Linear Circuits |
3 |
2 |
1.25 |
ECE 192 |
Engineering Economics and Impact on Society |
2 |
1 |
0 |
MATH 119 |
Calculus 2 for Engineering |
3 |
2 |
0 |
Work Term
Winter4F, Spring8 |
COOP 1 |
Co-operative Work Term |
PD 19 |
Tactics for Workplace Success |
Academic Term
2A Fall8, Winter4F |
ECE 101B4F |
Work-term Reflections (see Note 1) |
ECE 101A8 |
Work-term Reflections (see Note 1) |
ECE 109 |
Materials Chemistry for Engineers |
2 |
1 |
0 |
ECE 201 |
Information Session |
1 |
0 |
0 |
ECE 204 |
Numerical Methods |
3 |
1 |
1.25 |
ECE 205 |
Advanced Calculus 1 for Electrical and Computer Engineers |
3 |
1 |
0 |
ECE 222 |
Digital Computers |
3 |
1 |
1.25 |
ECE 240 |
Electronic Circuits 1 |
3 |
1 |
1.25 |
ECE 250 |
Algorithms and Data Structures |
3 |
1 |
1.25 |
Work Term
Fall4F, Winter8 |
COOP 2 |
Co-operative Work Term |
PD 20 |
Engineering Workplace Skills 1: Developing Reasoned Conclusions |
Academic Term
2B Spring8, Fall4F |
ECE 101C4F |
Work-term Reflections (see Note 1) |
ECE 101B8 |
Work-term Reflections (see Note 1) |
ECE 202 |
Information Session |
1 |
0 |
0 |
ECE 203 |
Probability Theory and Statistics 1 |
3 |
1 |
0 |
ECE 207 |
Signals and Systems |
3 |
1 |
0 |
ECE 208 |
Discrete Mathematics and Logic 2 |
3 |
1 |
0 |
ECE 224 |
Embedded Microprocessor Systems |
3 |
1 |
1.25 |
ECE 252 |
Systems Programming and Concurrency |
3 |
1 |
1.25 |
ECE 298 |
Instrumentation and Prototyping Laboratory |
0 |
0 |
1.50 |
Work Term
Spring4F, Fall8 |
COOP 3 |
Co-operative Work Term |
One Professional Development Elective (see Note 3) |
Academic Term
3A Winter8, Spring4F |
ECE 101D4F |
Work-term Reflections (see Note 1) |
ECE 101C8 |
Work-term Reflections (see Note 1) |
ECE 301 |
Information Session |
1 |
0 |
0 |
ECE 318 |
Communication Systems 1 |
3 |
1 |
1.25 |
ECE 327 |
Digital Hardware Systems |
3 |
1 |
1.25 |
ECE 350 |
Real-Time Operating Systems |
3 |
1 |
1.25 |
ECE 380 |
Analog Control Systems |
3 |
1 |
1.25 |
One CSE, NSE, or TE (see Note 2) |
Work Term
Winter4F, Spring8 |
COOP 4 |
Co-operative Work Term |
One Professional Development Elective (see Note 3) |
Academic Term
3B Fall |
ECE 101D8 |
Work-term Reflections (see Note 1) |
ECE 302 |
Information Session |
1 |
0 |
0 |
ECE 307 |
Probability Theory and Statistics 2 |
3 |
1 |
0 |
One CSE, NSE, or TE (see Note 2) |
Choose two of the following four courses (see Note 4) |
ECE 320 |
Computer Architecture |
3 |
1 |
1.25 |
ECE 351 |
Compilers |
3 |
1 |
1.25 |
ECE 356 |
Database Systems |
3 |
1 |
1.25 |
ECE 358 |
Computer Networks |
3 |
1 |
1.25 |
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. |
Work Term
Winter |
COOP 5 |
Co-operative Work Term |
One Professional Development Elective (see Note 3) |
Academic Term 4A Spring |
ECE 101E |
Work-term Reflections (see Note 1) |
ECE 401 |
Information Session |
1 |
0 |
0 |
ECE 498A or GENE 403 |
Engineering Design Project or Interdisciplinary Design Project 1 (see Notes 5 and 6) |
1 |
0 |
10 |
Four elective courses, CSE, NSE, or TE, as necessary (see Note 2) |
Work Term
Fall |
COOP 6 |
Co-operative Work Term |
One Professional Development Elective (see Note 3) |
Academic Term 4B Winter |
ECE 402 |
Information Session |
1 |
0 |
0 |
ECE 498B or GENE 404 |
Engineering Design Project or Interdisciplinary Design Project 2 (see Notes 5 and 6) |
1 |
0 |
10 |
Four elective courses, CSE, NSE, or TE, as necessary (see Note 2) |
Work-term Reflections
For each of the Work-term Reflections (ECE 101) courses, students write a short two-page report (from an online template available on the ECE website) reflecting on their work experience during the previous co-op term. Students submit it for grading in the academic term that follows the work term. If a student did not secure a co-op position, they are to reflect on what skills they used to improve their chances of a co-op position in future work terms. These courses are graded as CR/NCR.
Elective Courses
Complementary Studies Electives
Students must complete three complementary studies elective (CSE) courses to satisfy the Complementary Studies Requirements for Engineering students. These are in addition to those courses that are part of the core curriculum and contain complementary studies material, such as ECE 190, ECE 192, and the Professional Development (PD) sequence. The three CSE courses are to be chosen according to the following constraints.
- Two from List C (Humanities and Social Sciences Courses)
- One from any of List A (Impact Courses), List C (Humanities and Social Sciences Courses), or List D (Other Permissible Complementary Studies Courses)
Students may take up to one technique course (i.e., learning a skill or language) as part of List D. Technique courses need ECE Undergraduate Office approval to be considered as complementary studies electives.
Students may take GENE 412/PHIL 315 as a List C CSE in which case the course will also satisfy the Ethics Requirement.
Ethics Requirement
In addition to the core technical courses, students must understand and be able to apply the Engineering ethics. To meet this Ethics Requirement, students must pass one of PD 22 or GENE 412/PHIL 315.
Natural Science Electives
Students are required to complete two natural science elective (NSE) courses, 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 table 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.
Course |
Title |
Cls |
Tut |
Lab |
ECE 414 |
Communication Systems 2 |
3 |
1 |
0 |
ECE 417 |
Image Processing |
3 |
1 |
1.25 |
ECE 433 |
Fabrication Technologies for Micro and Nano Devices |
3 |
1 |
1.25 |
ECE 444 |
Integrated Analog Electronics |
3 |
1 |
1.25 |
ECE 445 |
Integrated Digital Electronics |
3 |
1 |
1.25 |
ECE 452 |
Software Design and Architectures |
3 |
1 |
1.25 |
ECE 454 |
Distributed Computing |
3 |
1 |
1.25 |
ECE 455 |
Embedded Software |
3 |
1 |
1.25 |
ECE 457A |
Cooperative and Adaptive Algorithms |
3 |
1 |
0 |
ECE 457C |
Reinforcement Learning |
3 |
1 |
1.25 |
ECE 458 |
Computer Security |
3 |
1 |
1.25 |
ECE 462 |
Electrical Distribution Systems |
3 |
1 |
1.25 |
ECE 463 |
Design & Applications of Power Electronic Converters |
3 |
1 |
1.25 |
ECE 475 |
Radio-Wave Systems |
3 |
1 |
1.25 |
ECE 481 |
Digital Control Systems |
3 |
1 |
1.25 |
ECE 486 |
Robot Dynamics and Control |
3 |
1 |
1.25 |
ECE 493 |
Special Topics in Electrical and Computer Engineering (see Note 7) |
3 |
1 |
0 |
The following TE courses are normally offered for the winter (4B) term. The list is subject to change from year to year.
Course |
Title |
Cls |
Tut |
Lab |
ECE 406 |
Algorithm Design and Analysis |
3 |
1 |
1.25 |
ECE 409 |
Cryptography and System Security |
3 |
1 |
0 |
ECE 416 |
Advanced Topics in Networking |
3 |
1 |
1.25 |
ECE 423 |
Embedded Computer Systems |
3 |
1 |
1.25 |
ECE 432 |
Radio Frequency Integrated Devices and Circuits |
3 |
1 |
1.25 |
ECE 451 |
Software Requirements Specification and Analysis |
3 |
1 |
1.25 |
ECE 453 |
Software Testing, Quality Assurance and Maintenance |
3 |
1 |
0 |
ECE 457B |
Fundamentals of Computational Intelligence |
3 |
1 |
0 |
ECE 459 |
Programming for Performance |
3 |
1 |
1.25 |
ECE 464 |
High Voltage Engineering and Power System Protection |
3 |
1 |
1.25 |
ECE 467 |
Power Systems Analysis, Operations and Markets |
3 |
1 |
1.25 |
ECE 474 |
Radio and Wireless Systems |
3 |
1 |
1.25 |
ECE 477 |
Photonic Devices and Systems |
3 |
1 |
1.25 |
ECE 488 |
Multivariable Control Systems |
3 |
1 |
0 |
ECE 493 |
Special Topics in Electrical and Computer Engineering (see Note 7) |
3 |
1 |
0 |
ECE 495 |
Autonomous Vehicle |
3 |
1 |
1.25 |
The following project elective is offered every term. Students may take it, at most, once as a TE course.
Course |
Title |
Cls |
Tut |
Lab |
ECE 499 |
Engineering Project |
0 |
0 |
10 |
Workplace Hazardous Materials Information System (WHMIS)
Under both the federal and provincial legislation, all students must take WHMIS training. Details are described in the WHMIS Requirements section of this Calendar. Students must meet this milestone in order to remain enrolled in 1A or to enrol in any academic term beyond 1A.
Available Options
The curriculum in Computer Engineering is designed to offer a well-balanced and rewarding education. Students wishing to further enrich their studies may take any option, minor, or joint degree for which they meet the eligibility requirements (see the section on Engineering Interdisciplinary Alternatives). Options typically require extra courses and/or constrain the choice of elective courses. When taking courses from a different plan, the student may need to do extra work to compensate for a different background preparation. Time beyond the normal plan duration may be necessary due to the extra requirements and constraints on space or scheduling.
Communications and Signal Processing Specialization
We take for granted remote connection to complex services, which may involve high-quality video streaming, human-machine voice interaction, biometric monitoring, image or video understanding, and rapidly evolving forms of assistance using artificial intelligence. Indeed, many are possible from a cell phone barrelling down a highway or embedded on a massive scale in sensor networks. They hold promise of meaningful impact on global problems such as aging and health care, education, social cohesion, resource and environmental management, crime prevention, and countless applications yet to be imagined. Beyond applying known algorithms, engineers need to understand fundamental principles from communications and signal processing which are at the heart of sophisticated and powerful trade-offs in design. This specialization allows students to choose that depth of learning within various combinations of its two core topics.
Requirements
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: