The fields of computer engineering and electrical engineering have co-evolved over the past several decades into an exciting interwoven tapestry of 10 thematic subdisciplines, all sharing common foundations from science, mathematics, and computing. Students in either program study those shared foundations and a portion of each theme to gain the breadth and depth of understanding necessary for lifelong learning in any area of computer or electrical engineering.
The Computer Engineering and the Electrical Engineering programs start out pre-structured to span the 10 themes in slightly different ways while still allowing flexibility for students to choose the full depth of study in any subdiscipline or to switch between the two programs. Within the specified framework of study, students make, according to their developing interests, choices to define their technical focus, choices regarding how they enhance their science background, and choices to expand their non-technical knowledge or skills. The goal is to graduate students with solid core engineering competencies but highly customizable depth, breadth, and focus. They are employed in an extremely varied set of occupations, essentially any place where there is design activity involving electricity, electronics, computers, or software.
The Department of Electrical and Computer Engineering (ECE), which administers the Computer Engineering and the Electrical Engineering programs, is itself a richly diverse unit and is a partner in offering four other interdisciplinary undergraduate programs, namely Biomedical Engineering, Mechatronics Engineering, Nanotechnology Engineering, and Software Engineering.
The following thematic subdisciplines are covered in varying degrees by the two programs.
- Communications, modulation and coding, multimedia, and wireless systems.
- Networks and mobile/distributed computing.
- Energy distribution, motors/generators, power electronics, and energy marketing.
- Control, automation, robotics, and mechatronics.
- Computer architecture, embedded computers, and formal specification and design.
- Microelectronic devices, analog, digital and mixed-signal circuits, integrated circuits, and micro-/nano-fabrication methods.
- Microwave (radio frequency) and photonic devices and systems.
- Signal processing, computational intelligence, and soft computing.
- Software systems, components, security, and embedded software.
- Software engineering, requirements specification, software architectures, and verification.
Common elements of mathematics, science, and computing permeate these areas and tie them together with a concentration on engineering science (analysis) and engineering design (synthesis). Computer Engineering puts relatively more emphasis on digital hardware, embedded systems, software systems, and networks. Electrical Engineering puts relatively more emphasis on microwave/photonic systems, devices/fabrication, microelectronic circuits, and power. Because of commonalities between core offerings in either program, it is relatively easy to transfer from one to the other, especially during the first three terms of study.
The programs have elective choices in a wide array of non-technical fields, in technical areas both inside and outside of ECE, and in science. Engineered systems based on electronics or embedded computers are especially pervasive across most areas of society and it is increasingly important for students to be able to integrate their technical abilities with complementary skills. Teamwork and interdisciplinary collaboration are important aspects of the program. The programs place a significant emphasis on communication skills, design, and engineering professionalism. Broad-minded and deeply-trained students of computer or electrical engineering will make important contributions over the next several decades as the world addresses potential issues such as environmental quality, energy supply, better health care, etc.
The ECE Department houses committees and staff supporting curriculum development, program operation, and student advisement. Help and information are available by contacting the ECE Undergraduate Office or browsing the ECE website.
The programs involve 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 ECE Undergraduate Office is required for all changes from the specified programs. 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 Engineering Work Terms section 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 program, in either Computer Engineering or Electrical Engineering, are described in the Engineering Examinations and Promotions section of this Calendar. These include term-average requirements, course-grade requirements, and milestone requirements.
Legend for the tables below
The tables below outline the contents of the eight academic terms and six co-operative work terms. The ordering of the terms is as described in the Study/Work Sequence section. The superscripts 8 and 4S are for information specific to Stream "8" and Stream "4S", respectively. For academic terms, the average scheduled hours per week are indicated in the columns Cls for class (LEC or SEM), Tut for tutorial (TUT), and Lab for laboratory (LAB or PRJ). Most laboratories are either open or scheduled every second or third week. Further details on electives and milestones are provided below. In addition to the courses listed below, the Department will normally schedule, in terms 1B through 4B, an hour per week that is available for organizational meetings, communication with the Department, make-up lectures, etc.
Notes
- Milestones and courses with deadlines for successful completion are shown in the terms where they are normally completed. Work-term report courses (WKRPT 201, WKRPT 301, WKRPT 401) are considered milestones with deadlines for successful completion; WKRPT courses are described as type DRNC per Rule 11 of the examinations and promotions rules. Further information is provided in the Milestones and Deadlines section on this page.
- There are a total of 13 electives: eight technical electives (TEs), including three in the 3B term which must be chosen from a program-specific 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 20 and PD 21, 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 program-specific list. These courses cannot be dropped for a reduced-load term.
- In their 4A/4B terms, students must enrol in the ECE 498A/ECE 498B sequence or the GENE 403/GENE 404 sequence. ECE 498A/GENE 404 and ECE 498B/GENE 403 combinations are not allowed.
- Students in the Option in Biomechanics or the Option in Mechatronics must choose a compatible topic for their design project sequence in ECE 498A, 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.
Academic Program
Term |
CE or EE |
Course/Milestone |
Title and Notes |
Cls
|
Tut
|
Lab |
Academic Term 1A Fall
|
both
|
ECE 105 |
Classical Mechanics
|
3 |
2 |
1.5 |
both
|
ECE 150 |
Fundamentals of Programming |
3 |
1 |
2 |
both
|
ECE 190
|
Engineering Profession and Practice
|
2 |
0 |
0 |
both |
GENE 191
|
Communication in the Engineering Profession
|
3
|
0
|
0 |
both |
MATH 115
|
Linear Algebra
|
3
|
2
|
0
|
both
|
MATH 117 |
Calculus 1 for Engineering |
3 |
2 |
0 |
both
|
Workplace Hazardous Materials Milestone (see note 1)
|
Academic Term 1B Winter8, Spring4S
|
both
|
ECE 102 |
Information Session |
1 |
0 |
0 |
both |
ECE 106 |
Electricity and Magnetism
|
3 |
2 |
1.5 |
both
|
ECE 108
|
Discrete Mathematics and Logic 1
|
3
|
1
|
1.5
|
both
|
ECE 124 |
Digital Circuits and Systems |
3 |
1 |
1.5 |
both
|
ECE 140
|
Linear Circuits
|
3 |
2 |
1.5 |
both
|
ECE 192
|
Engineering Economics and Impact on Society
|
2
|
1
|
0
|
both
|
MATH 119 |
Calculus 2 for Engineering |
3 |
2 |
0 |
Work Term Winter4S, Spring8
|
both
|
COOP 1 |
Co-operative Work Term |
both
|
PD 20 |
Engineering Workplace Skills I: Developing Reasoned Conclusions |
Academic Term 2A Fall8, Winter4S
|
both
|
CHE 102
|
Chemistry for Engineers
|
3 |
2
|
0
|
both |
ECE 201 |
Information Session
|
1
|
0
|
0
|
both |
ECE 204 |
Numerical Methods |
3
|
1
|
0
|
both |
ECE 205 |
Advanced Calculus 1 for Electrical and Computer Engineers |
3 |
1 |
0 |
both
|
ECE 222 |
Digital Computers |
3 |
1 |
1.5 |
both |
ECE 240 |
Electronic Circuits 1 |
3 |
1 |
1.5 |
both
|
ECE 250 |
Algorithms and Data Structures |
3 |
1 |
1.5 |
Work Term Fall4S, Winter8
|
both
|
COOP 2 |
Co-operative Work Term |
both
|
PD 21 |
Engineering Workplace Skills II: Developing Effective Plans |
Academic Term 2B Spring8, Fall4S
|
both
|
ECE 202 |
Information Session
|
1 |
0 |
0 |
both
|
ECE 203
|
Probability Theory and Statistics 1 |
3
|
1
|
0
|
both
|
ECE 207 |
Signals and Systems |
3
|
1 |
0 |
CE |
ECE 208
|
Discrete Mathematics and Logic 2 |
3
|
1
|
0
|
CE |
ECE 224 |
Embedded Microprocessor Systems |
3
|
1
|
1.5
|
CE |
ECE 252 |
Systems Programming and Concurrency |
3
|
1
|
1.5
|
EE |
ECE 206 |
Advanced Calculus 2 for Electrical Engineering |
3 |
1 |
0 |
EE |
ECE 209 |
Electronic and Electrical Properties of Materials |
3
|
1
|
1.5
|
EE
|
ECE 260
|
Electromechanical Energy Conversion
|
3
|
1
|
1.5
|
both |
ECE 298 |
Instrumentation and Prototyping Laboratory |
0 |
0 |
1.5 |
both |
WKRPT 2014S |
Work-term Report (see note 1) |
both |
Technical Presentation Milestone |
Work Term Spring4S, Fall8
|
both |
COOP 3 |
Co-operative Work Term |
both |
One Professional Development Elective (see note 3) |
Academic Term 3A Winter8, Spring4S
|
both
|
ECE 301 |
Information Session
|
1 |
0 |
0 |
both |
ECE 318 |
Analog and Digital Communication
|
3 |
1 |
1.5 |
CE
|
ECE 327 |
Digital Hardware Systems
|
3
|
1
|
1.5
|
CE |
ECE 350
|
Real-Time Operating Systems
|
3
|
1
|
1.5
|
EE
|
ECE 340
|
Electronic Circuits 2
|
3
|
1
|
1.5
|
EE
|
ECE 375
|
Electromagnetic Fields and Waves
|
3
|
1
|
1.5
|
both
|
ECE 380 |
Analog Control Systems |
3 |
1 |
1.5 |
both |
WKRPT 2018 |
Work-term Report (see note 1) |
both |
WKRPT 3014S |
Work-term Report (see note 1) |
both |
One CSE, NSE, or TE (see note 2) |
Work Term Winter4S, Spring8
|
both
|
COOP 4 |
Co-operative Work Term |
both |
One Professional Development Elective (see note 3) |
Academic Term 3B Fall8, Winter4S
|
both |
ECE 302
|
Information Session
|
1 |
0 |
0 |
both
|
ECE 307
|
Probability Theory and Statistics 2
|
3
|
1 |
0 |
both
|
WKRPT 3018 |
Work-term Report (see note 1) |
both |
WKRPT 4014S |
Work-term Report (see note 1) |
both |
One CSE, NSE, or TE (see note 2)
|
CE
|
Choose two of the following four courses (see note 4): |
CE
|
ECE 320 |
Computer Architecture
|
3
|
1
|
1.5
|
CE
|
ECE 351 |
Compilers
|
3
|
1
|
1.5
|
CE |
ECE 356 |
Database Systems |
3
|
1
|
1.5
|
CE |
ECE 358
|
Computer Networks |
3
|
1
|
1.5
|
EE
|
Choose two of the following four courses (see note 4) |
EE
|
ECE 313 |
Digital Signal Processing
|
3
|
1
|
0
|
EE
|
ECE 331
|
Electronic Devices
|
3
|
1
|
1.5
|
EE
|
ECE 360 |
Power Systems and Smart Grids |
3
|
1
|
1.5
|
EE |
ECE 373
|
Radio Frequency and Microwave Circuits
|
3 |
1 |
1.5 |
both
|
Choose one of the remaining six courses from ECE 313, ECE 320, ECE 331, ECE 351, ECE 356, ECE 358, ECE 360, ECE 373 provided prerequisites are met and subject to scheduling constraints |
Work Term Fall4S, Winter8
|
both
|
COOP 5 |
Co-operative Work Term |
both
|
One Professional Development Elective (see note 3) |
Academic Term 4A Spring
|
both |
ECE 401 |
Information Session
|
1 |
0 |
0 |
both
|
ECE 498A/GENE 403 |
Engineering Design Project (see note 5 and note 6) |
1 |
0 |
10 |
both |
WKRPT 4018 |
Work-term Report (see note 1) |
both
|
Four elective courses, CSE, NSE, or TE, as necessary (see note 2) |
Work Term Fall
|
both
|
COOP 6 |
Co-operative Work Term |
both |
One Professional Development Elective (see note 3) |
Academic Term 4B Winter
|
both |
ECE 402 |
Information Session
|
1 |
0 |
0 |
both |
ECE 498B/GENE 404 |
Engineering Design Project (see note 5 and note 6) |
1 |
0 |
10 |
both |
Four elective courses, CSE, NSE, or TE, as necessary (see note 2) |
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 program and contain complementary studies material, such as ECE 190, ECE 192, GENE 191, 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 411 as a List D CSE in which case it will also satisfy the Law Requirement and the Ethics Requirement. 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 program, students must understand and be able to apply the Engineering Code of 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. The two NSE courses must be primarily concerned with natural science and are in addition to the science components of the core programs, such as CHE 102, ECE 105, and ECE 106. Students must select at least one from List 1 and, at most, one from List 2.
List 1: Natural Science Intensive Courses
List 2: Natural Science Courses
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 curricula table above.
- At least three TEs must be courses chosen from ECE 406-ECE 493 or ECE 499, normally taken during the 4A and 4B terms. A list of current 4A and 4B TEs is provided below.
- Up to two TEs may be technical courses from other (non-ECE) programs; 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 program in Computer Engineering or Electrical 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 program 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.
- The following courses are offered in the core program in Computer Engineering but are considered TE courses for Electrical Engineering: ECE 224, ECE 252, ECE 327, and ECE 350. 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
|
Wireless Communications |
3
|
1 |
0
|
ECE 418 |
Communications Networks |
3 |
1 |
0 |
ECE 432 |
Radio Frequency Integrated Devices and Circuits |
3 |
1 |
1.5 |
ECE 445 |
Integrated Digital Electronics |
3 |
1 |
1.5 |
ECE 452
|
Software Design and Architecture
|
3
|
1
|
1.5 |
ECE 454 |
Distributed Computing |
3 |
1 |
1.5 |
ECE 455 |
Embedded Software |
3 |
1 |
1.5 |
ECE 457A |
Cooperative and Adaptive Algorithms |
3 |
1 |
0 |
ECE 458 |
Computer Security |
3 |
1 |
1.5 |
ECE 462 |
Electrical Distribution Systems |
3 |
1 |
1.5 |
ECE 463 |
Design and Applications of Power Electronic Converters |
3 |
1 |
1.5 |
ECE 475 |
Radio-Wave Systems |
3 |
1 |
1.5 |
ECE 481 |
Digital Control Systems |
3 |
1 |
1.5 |
ECE 486 |
Robot Dynamics and Control |
3 |
1 |
1.5 |
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.5 |
ECE 409 |
Cryptography and System Security |
3 |
1 |
0 |
ECE 415 |
Multimedia Communications
|
3 |
1 |
1.5 |
ECE 416 |
Advanced Topics in Networking |
3 |
1 |
1.5 |
ECE 417 |
Image Processing |
3
|
1 |
1.5 |
ECE 423 |
Embedded Computer Systems |
3 |
1 |
1.5 |
ECE 433 |
Fabrication Technologies for Micro and Nano Devices |
3 |
1 |
1.5 |
ECE 444 |
Integrated Analog Electronics |
3 |
1 |
1.5 |
ECE 451 |
Software Requirements Specification and Analysis |
3
|
1
|
1.5
|
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.5 |
ECE 464 |
High Voltage Engineering and Power System Protection |
3 |
1 |
1.5 |
ECE 467 |
Power Systems Analysis, Operations and Markets |
3 |
1 |
1.5 |
ECE 474 |
Radio and Wireless Systems |
3 |
1 |
1.5 |
ECE 477 |
Photonic Devices and Systems |
3 |
1 |
1.5 |
ECE 488 |
Multivariable Control Systems |
3 |
1 |
0 |
ECE 493 |
Special Topics in Electrical and Computer Engineering (see note 7) |
3 |
1 |
0 |
The following project elective is offered every term. Students may take it, at most, once in the program as a TE course.
Course |
Title |
Cls |
Tut |
Lab |
ECE 499 |
Engineering Project |
0 |
0 |
10 |
Milestones and Deadlines
Technical Presentation Milestone
Normally students are not allowed to enrol in any academic term beyond 3B until the technical presentation milestone is completed. This milestone is met when students successfully deliver a short technical presentation during their 2B term. If unsuccessful, a second attempt is allowed during the 3A term. If still unsuccessful, students must pass a course or workshop that focuses on presentation skills (e.g., a Department approved Speech Communications course or an external workshop, such as Toastmasters, with requirements approved by the Department). Students can use the approved course or workshop to clear the technical presentation milestone; alternatively, if the course in question is eligible as a Complementary Studies Elective (CSE), students may choose to use the course as a List D CSE, but must then clear the technical presentation milestone by successfully delivering a presentation during their 3B term.
Work-Term Report Courses
For each of these "Work-term Report" (WKRPT) courses, the student writes a technical report based on their work-term experience and submits it for grading in the academic term that follows the work term. The reports are normally submitted following the third, fourth, and fifth work terms, as shown in the program table below; however, students have flexibility to move each report by one work term earlier or later in the program. The following table shows the possible submission terms for each report. The normal term of submission is shown in bold. Students are not allowed to enrol in any academic term beyond the last possible submission term without credit for the corresponding work-report course.
Work-term Report
|
Work-term
Experience
|
Stream-4S
Submission
|
Stream-8
Submission
|
WKRPT 201 |
2nd, 3rd, 4th |
2A, 2B, 3A |
2B, 3A, 3B |
WKRPT 301 |
3rd, 4th, 5th |
2B, 3A, 3B |
3A, 3B, 4A |
WKRPT 401 |
4th, 5th, 6th |
3A, 3B, 4B |
3B, 4A, 4B |
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 programs in Computer Engineering and Electrical Engineering are 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 program, the student may need to do extra work to compensate for a different background preparation. Time beyond the normal program duration may be necessary due to the extra requirements and constraints on space or scheduling.