Link to the University of Waterloo home page Advanced Search or
2017-2018
The Undergraduate Calendar
 

Faculty of Engineering

Bachelor of Applied Science and Bachelor of Software Engineering Specific Degree Requirements

Computer Engineering and Electrical Engineering
Printable Version Printable Version

The fields of Computer Engineering and Electrical Engineering have co-evolved over the past several decades into an exciting interwoven tapestry of ten 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 Electrical Engineering programs start out pre-structured to span the ten 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 Electrical Engineering programs, is itself a richly diverse unit and is a partner in offering four other interdisciplinary undergraduate programs, namely Biomedical EngineeringMechatronics Engineering, Nanotechnology Engineering, and Software Engineering.

The following thematic subdisciplines are covered in varying degrees by the two programs.

  1. Communications, modulation and coding, multimedia, and wireless systems
  2. Networks, and mobile/distributed computing
  3. Energy distribution, motors/generators, power electronics, and energy marketing
  4. Control, automation, robotics, and mechatronics
  5. Computer architecture, embedded computers, and formal specification and design
  6. Microelectronic devices, analog, digital and mixed-signal circuits, integrated circuits, and micro-/nano-fabrication methods
  7. Microwave (radio frequency) and photonic devices and systems.
  8. Signal processing, computational intelligence, and soft computing.
  9. Software systems, components, security, and embedded software.
  10. 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.

Academic Curricula

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.

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

  1. 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.
  2. There are a total of 11 elective courses. Out of these 11 slots, five must be filled with technical electives (TEs), four with complementary studies electives (CSEs), and two with 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 full course load.
  3. Students may take any Professional Development (PD) course approved by the Faculty of Engineering, except for PD 22. Students must complete PD 20 and PD 21, as well as three PD elective courses to satisfy degree requirements.
  4. During the 3B term, students must select a technical course from a program-specific list. Schedule permitting, the courses that are not selected may also be taken for credit and count as TEs.
  5. 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.
  6. 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.
  7. 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.
Term CE or EE Course/Milestone Title and Notes

Cls

Tut

Lab

Academic Term 1A Fall

both CHE 102 Chemistry for Engineers 3 1 0
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 MATH 115
Linear Algebra
3
2
0
both
MATH 117 Calculus 1 for Engineering 3 2 0
both English Language Proficiency Milestone (see note 1)
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
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 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 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
both
ECE 290 Engineering Profession, Ethics, and Law 3 1 0

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 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 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 One CSE, NSE, or TE (see note 2)
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 306 Probability Theory and Statistics 3 1 0
CE
ECE 327 Digital Hardware Systems
3
1
1.5
CE ECE 351 
Compilers
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 390
Engineering Design, Economics, and Impact on Society 3
1 1.5
EE
ECE 318 Analog and Digital Communications 3
1 1.5
EE
ECE 331 Electronic Devices 3 1 1.5
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)
Technical Courses
CE
Choose two of the following three courses (see note 4):
CE
ECE 320 Computer Architecture
3
1
1.5
CE
ECE 350 Real-Time Operating Systems
3
1
1.5
CE ECE 356 Database Systems 3
1
1.5
CE Choose one of the following two courses (see note 4)
CE
ECE 318 Analog and Digital Communications 3 1 1.5
CE ECE 358 Computer Networks
3
1
1.5
EE
Choose one of the following two courses (see note 4)
EE
ECE 360 Power Systems and Smart Grids 3
1
1.5
EE ECE 373
Radio Frequency and Microwave Circuits
3 1 1.5

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 four 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 290, ECE 390, and the Professional Development (PD) sequence. The four CSE courses are to be chosen according to the following constraints.

  • Two courses from List C (Humanities and Social Sciences Courses)
  • Two courses from any of List A (Impact Courses), List C, 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. If participating in an exchange program, students may instead take up to two courses in the language of the exchange destination as part of List D. Technique courses need ECE pre-approval to be considered as complementary studies electives.

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 102ECE 105 and ECE 106. Students must select at least one from List one and at most one from List two. 

List 1: Natural Science Intensive Courses
Course Title
BIOL 130 and BIOL 130L Introductory Cell Biology
BIOL 240 and BIOL 240L Fundamentals of Microbiology
BIOL 273 and BIOL 273L Principles of Human Physiology 1
CHEM 123 and CHEM 123L Chemical Reactions, Equilibria and Kinetics
CHEM 237 and CHEM 237L Introductory Biochemistry
CHEM 262 and CHEM 262L Organic Chemistry for Engineering and Bioinformatics Students
ECE 403 Thermal Physics
ECE 404 Geometrical and Physical Optics
ECE 405 Introduction to Quantum Mechanics
ENVS 200 Field Ecology
NE 122 Organic Chemistry for Nanotechnology Engineers
List 2: Natural Science Courses
Course Title
BIOL 110 Introductory Zoology
BIOL 130 Introductory Cell Biology
BIOL 150 Organismal and Evolutionary Ecology
BIOL 165 Diversity of Life
BIOL 211 Introductory Vertebrate Zoology
BIOL 240  Fundamentals of Microbiology
BIOL 241 Introduction to Applied Microbiology
BIOL 273 Principles of Human Physiology 1
CHE 161 Engineering Biology
CHEM 123 Chemical Reactions, Equilibria and Kinetics
CHEM 209 Introductory Spectroscopy and Structure
CHEM 217 Chemical Bonding
CHEM 237 Introductory Biochemistry
CHEM 254 Introductory Chemical Thermodynamics
CHEM 262 Organic Chemistry for Engineering and Bioinformatics Students
CHEM 266 Basic Organic Chemistry 1
CHEM 356 Introductory Quantum Mechanics
CHEM 404 Physicochemical Aspects of Natural Waters
EARTH 121 Introductory Earth Sciences
EARTH 122 Introductory Environmental Sciences
EARTH 123 Introductory Hydrology
EARTH 221 Geochemistry 1
EARTH 270 Disasters and Natural Hazards
EARTH 281 Geological Impacts on Human Health
*ECE 209 Electronic and Electrical Properties of Materials
*Note that ECE 209 cannot count as an NSE for Electrical Engineering students
ENVE 275 Environmental Chemistry
ENVE 276 Environmental Biology and Biotechnology
PHYS 234 Quantum Physics 1
PHYS 263 Classical Mechanics and Special Relativity
PHYS 275 Planets
PHYS 280 Introduction to Biophysics
PHYS 334 Quantum Physics 2
PHYS 335 Condensed Matter Physics
PHYS 375 Stars
PHYS 380 Molecular and Cellular Biophysics
SCI 238 Introductory Astronomy

Technical Electives

Students are required to complete five technical elective (TE) courses, normally taken during the 4A and 4B terms. At least three of the TEs must be courses chosen from ECE 406-493 or 499. 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 pre-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 professor if the prerequisite knowledge was acquired by other means. Some combinations of electives may not be taken simultaneously due to timetabling conflicts.

The ECE Department makes every effort to maintain a list of technical electives that reflects the current state of electrical and computer engineering. As such, the list of electives below is subject to change from year to year, and depending on current demand.

The following TE courses are normally offered for the spring (4A) term.

Course Title Cls Tut Lab
ECE 413 Digital Signal Processing 3 1 1.5
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 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.

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

The following courses are offered for the core program in Electrical Engineering but are considered TE courses for Computer Engineering. Some of these courses have prerequisites that must be met in order to enrol.

Course Title Cls Tut Lab
ECE 260
Electromechanical Energy Conversion
3
1 1.5
ECE 331 Electronic Devices 3 1 1.5
ECE 340 Electronic Circuits 2 3 1
1.5
ECE 360 Power Systems and Smart Grids 3
1 1.5
ECE 373
Radio Frequency and Microwave Circuits
3
1 1.5
ECE 375 Electromagnetic Fields and Waves 3 1 1.5

The following courses are offered for the core program in Computer Engineering but are considered TE courses for Electrical Engineering. Some of these courses have prerequisites that must be met in order to enrol.

Course Title Cls Tut Lab
ECE 224
Embedded Microprocessor Systems
3 1 1.5
ECE 252
Systems Programming and Concurrency
3 1 1.5
ECE 320 Computer Architecture
3 1 1.5
ECE 327 Digital Hardware Systems 3 1 1.5
ECE 350
Real-Time Operating Systems
3 1 1.5
ECE 351 Compilers 3 1 1.5
ECE 356 Database Systems 3 1 1.5
ECE 358 Computer Networks 3 1 1.5

In the 3B term, electrical engineering students must choose one of either ECE 360 or ECE 373. Schedule permitting, the course not chosen may also be taken for credit as a TE. Similarly, in the 3B term, computer engineering students must choose one of either ECE 318 or ECE 358, and two of ECE 320, ECE 350, or ECE 356. Schedule permitting, the courses not chosen may also be taken for credit as TEs.

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 pre-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.

English Language Proficiency

Students at the University of Waterloo must demonstrate proficiency in the English language prior to enrolling in the 2B academic term. Further details are described in the English Language Proficiency Requirement section of this Calendar.

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

Under both the federal and provincial legislation, all students must take Workplace Hazardous Materials Information System (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.

 


Office of the Registrar
University of Waterloo
2nd Floor, Needles Hall
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4567

contact us | UWaterloo home | privacy | powered by InterGlobal Solutions