Link to the University of Waterloo home page
2016-2017

The Undergraduate Calendar

 

 

Faculty of Engineering

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

Computer Engineering and Electrical Engineering

The field of electrical and computer engineering is multidisciplinary and based on foundations in science, mathematics, and computing—both hardware and software. Reflecting this diversity, the Department of Electrical and Computer Engineering (ECE) offers these two broad programs but is also a major partner in offering four more interdisciplinary programs, in Biomedical EngineeringMechatronics Engineering, Nanotechnology Engineering, and Software Engineering. The Computer Engineering and Electrical Engineering programs, described here, span the field in slightly different ways to give students a deep base of core knowledge with the ability to focus in one or more target areas. Students completing either program should gain the breadth of understanding necessary for lifelong learning in any area of electrical and computer engineering regardless of their choice of upper-year electives.

ECE identifies ten overlapping target areas in the discipline as listed below.

  1. Communications, modulation and coding, multimedia, wireless.
  2. Networks, mobility, distributed computing.
  3. Energy distribution, motors/generators, power electronics, energy marketing.
  4. Control, automation, robotics, mechatronics.
  5. Digital architectures, embedded computers, formal specification and design.
  6. Analog or digital devices, circuits, VLSI, micro-/nano-fabrication methods.
  7. Microwave (radio frequency) or photonic devices and systems.
  8. Signal processing, computational intelligence, soft computing.
  9. Software systems, components, security, embedded software.
  10. Software engineering, requirements specification, software architectures, 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). All students in both programs receive a core knowledge of the ten areas. Computer Engineering puts relatively more emphasis on digital hardware, software systems, and networks. Electrical Engineering puts relatively more emphasis on microwave/photonic systems, devices/fabrication, and power. Students who decide to focus in a target area not emphasized in their program may need to take an extra course. However, the programs are also structured to make it easy to transfer from one to the other if the student develops interests for which this would be the best path.

The programs have elective choices in a wide array of nontechnical 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 other requirements. Teamwork and interdisciplinary collaboration are common. 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.

ECE administers the Computer Engineering and Electrical Engineering programs and 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 meets are compulsory where they form part of a course. Approval from ECE 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 ECE 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. 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.

The promotion criteria used to determine progression through the program, in either Computer Engineering or Electrical Engineering, are as described in the Engineering Examinations and Promotions section. These include term-average requirements, course-grade requirements, and milestone requirements.

The table below outlines the content 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. In each of the three terms 2B, 3A, and 3B, there are two program-specific required courses labelled as CE for Computer Engineering or EE for Electrical Engineering. Students may take courses from the other program and some count as Technical Elective choices (see below).

Notes

  1. There are a total of eleven elective courses. Five are technical electives, four are complementary studies electives, and two are natural science electives. Normally, students take two technical electives in 4A, three technical electives in 4B, and the others (complementary studies, natural science) in the remaining elective slots between 2B and 4B. Students may deviate from this order but must take at least the specified number of courses in each term. Electives vary in the number and type of scheduled hours per week.
  2. 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.
  3. 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.
  4. The "Electrical and Computer Engineering Practice" courses (ECE 100A, ECE 100B, ECE 200A, ECE 200B, ECE 300A, ECE 300B, ECE 400A, ECE 400B) have requirements and deadlines for successful completion. The "Work-term Report" courses (WKRPT 201, WKRPT 301, WKRPT 401) have minimal-grade requirements and deadlines for successful completion. (Courses with deadlines for successful completion are described as type DRNC [see Rule 11] in the promotion rules.)
  5. Courses with deadlines for successful completion and other milestones are shown in the terms where they are normally completed. Due dates are more fully described in the Milestones and Deadlines section below.
  6. The courses labelled ECE 105 and ECE 106 may be offered as PHYS courses rather than ECE courses.
  7. Students can enrol in the sequence ECE 498A-498B, or the sequence GENE 403-404, in their 4A-4B terms. Combinations such as ECE 498A-GENE 404 are not allowed.

Key:

n/a translates to "not applicable"

Term CE or EE Course/Milestone Title and Notes

Cls

Tut

Lab

Academic Term 1A Fall

n/a CHE 102 Chemistry for Engineers 3 1 0
n/a  ECE 100A Electrical and Computer Engineering Practice (see note 4) 2 0 0
n/a  ECE 105 Physics of Electrical Engineering 1 (see note 6) 3 2 0
n/a  ECE 140 Linear Circuits 3 2 2
n/a  ECE 150 Fundamentals of Programming 3 1 2
n/a  MATH 117 Calculus 1 for Engineering 3 2 0
n/a  English Language Proficiency Milestone
n/a  Workplace Hazardous Materials Milestone

Academic Term 1B Winter8, Spring4S

n/a  ECE 100B Electrical and Computer Engineering Practice (see note 4) 2 0 0
n/a  ECE 103 Discrete Mathematics 3 2 0
n/a  ECE 106 Physics of Electrical Engineering 2 (see note 6) 3 2 1.5
n/a  ECE 124 Digital Circuits and Systems 3 1 1.5
n/a  ECE 155 Engineering Design with Embedded Systems 3 1 1.5
n/a  MATH 119 Calculus 2 for Engineering 3 2 0

Work Term Winter4S, Spring8

n/a  COOP 1 Co-operative Work Term
n/a  PD 20 Engineering Workplace Skills I: Developing Reasoned Conclusions

Academic Term 2A Fall8, Winter4S

n/a  ECE 200A Electrical and Computer Engineering Practice (see note 4) 1 0 0
n/a ECE 204A Numerical Methods 1
n/a ECE 205 Advanced Calculus 1 for Electrical and Computer Engineers 0
n/a  ECE 222 Digital Computers 3 1 1.5
n/a  ECE 240 Electronic Circuits 1 3 1 1.5
n/a  ECE 250 Algorithms and Data Structures 3 1 1.5
n/a  ECE 290 Engineering Profession, Ethics, and Law 3 1 0
n/a  MATH 215 Linear Algebra for Engineering 3 1

Work Term Fall4S, Winter8

n/a  COOP 2 Co-operative Work Term
n/a  PD 21 Engineering Workplace Skills II: Developing Effective Plans

Academic Term 2B Spring8, Fall4S

n/a  ECE 200B Electrical and Computer Engineering Practice (see note 4) 1 0 0
EE ECE 204B  Numerical Methods 2
EE ECE 206 Advanced Calculus 2 for Electrical Engineering 3 0
n/a  ECE 207 Signals and Systems 3 1 0
n/a  ECE 242 Electronic Circuits 2 3 1 1.5
CE ECE 224 Embedded Microprocessor Systems 3 1 1.5
CE ECE 254 Operating Systems and Systems Programming 3 1 1.5
EE ECE 209 Electronic and Electrical Properties of Materials 3 1 1.5
n/a  WKRPT 2014S Work-term Report (see note 4)
n/a  One elective course (see note 1)
n/a  Technical Presentation Milestone

Work Term Spring4S, Fall8

n/a COOP 3 Co-operative Work Term
n/a  Professional Development Elective (one of PD 3, PD 4, PD 5, PD 6, PD 7, PD 8, PD 9)

Academic Term 3A Winter8, Spring4S

n/a  ECE 300A Electrical and Computer Engineering Practice (see note 4) 1 0 0
n/a  ECE 316 Probability Theory and Statistics 3 1 0
n/a  ECE 380 Analog Control Systems 3 1 1.5
CE ECE 327 Digital Hardware Systems 3 1 1.5
CE ECE 351 Compilers 3 1 1.5
EE ECE 331 Electronic Devices 3 1 1.5
EE ECE 375 Electromagnetic Fields and Waves 3 1 1.5
n/a  WKRPT 2018 Work-term Report (see note 4)
n/a  WKRPT 3014S Work-term Report (see note 4)
n/a One elective course (see note 1)

Work Term Winter4S, Spring8

n/a  COOP 4 Co-operative Work Term
n/a  Professional Development Elective (one of PD 3, PD 4, PD 5, PD 6, PD 7, PD 8, PD 9)

Academic Term 3B Fall8, Winter4S

n/a  ECE 300B Electrical and Computer Engineering Practice (see note 4) 1 0 0
n/a  ECE 318 Analog and Digital Communications 3 1 1.5
n/a  ECE 390 Engineering Design, Economics, and Impact on Society 3 1 1.5
CE ECE 356 Database Systems 3 1 1.5
CE ECE 358 Computer Networks 3 1 1.5
EE ECE 224 Embedded Microprocessor Systems 3 1 1.5
EE ECE 361 Power Systems and Components 3 1 1.5
n/a  WKRPT 3018 Work-term Report (see note 4)
n/a  WKRPT 4014S Work-term Report (see note 4)
n/a  One elective course (see note 1)

Work Term Fall4S, Winter8

n/a  COOP 5 Co-operative Work Term
n/a  Professional Development Elective (one of PD 3, PD 4, PD 5, PD 6, PD 7, PD 8, PD 9)

Academic Term 4A Spring

n/a  ECE 400A Electrical and Computer Engineering Practice (see note 4) 1 0 0
n/a  ECE 498A/GENE 403 Engineering Design Project (see note 2 and note 7) 1 0 10
n/a  WKRPT 4018 Work-term Report (see note 4)
n/a  Four elective courses (see note 1)

Work Term Fall

n/a  COOP 6 Co-operative Work Term

Academic Term 4B Winter


 
n/a ECE 400B Electrical and Computer Engineering Practice (see note 4) 1 0 0
n/a  ECE 498B/GENE 404 Engineering Design Project (see note 2 and note 7) 1 0 10
n/a  Four elective courses (see note 1) 

Elective Courses

Complementary Studies Electives

Students are required to complete four complementary studies elective (CSE) courses to satisfy the Complementary Studies Requirements for Engineering Students. These are in addition to those courses which are part of the core program and contain complementary studies material, such as ECE 290, ECE 390, the Professional Development (PD) sequence, and the ECE Practice 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 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 may use the two NSE courses to broaden their understanding of the scientific basis for engineering or to add depth in their chosen target area of specialization. A student must select at least one from List 1 and at most one from List 2. 

In addition, a student may arrange with their program advisor permission to take other natural science intensive courses, which meet the minimum natural science requirement, at another university during a co-op work term.

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 (cross listed with PHYS 358)
ECE 404 Geometrical and Physical Optics (cross listed with PHYS 256)
ECE 405 Introduction to Quantum Mechanics (cross listed with PHYS 233)
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 fourth year. At least two of the TEs must be courses chosen from ECE 406-493 or 499. Up to two TEs may be technical courses from other programs; such courses must have sufficiently advanced technical content to be allowed. Further information is available from the ECE Undergraduate Office or ECE website. 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.

The slate of TE courses offered by ECE for the 4A and 4B terms is under revision. There may be courses added and changes made to the content, term of offering, or meet times from what is listed below. Further information is available from the ECE Undergraduate Office or ECE website.

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

Course Title Cls Tut Lab
ECE 413 Digital Signal and Image Processing 3 1
ECE 418 Communications Networks 3 1 0
ECE 429 Computer Architecture 3 1 1.5
ECE 432 Radio Frequency Integrated Devices and Circuits 3 1 1.5
ECE 445 Integrated Digital Electronics 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 473 Radio Frequency and Microwave Circuits 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 3) 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 414 Wireless Communications 3 1 0
ECE 415 Multimedia Processing and Coding 3 1 1.5
ECE 416 Advanced Topics in Networking 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 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 3) 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. Students of Computer Engineering may use at most two of these courses as TE courses.

Course Title Cls Tut Lab
ECE 331 Electronic Devices 3 1 1.5
ECE 361 Power Systems and Components 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. Students of Electrical Engineering may use at most two of these courses as TE courses.

Course Title Cls Tut Lab
ECE 254 Operating Systems and Systems Programming 3 1 1.5
ECE 327 Digital Hardware 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

Milestones and Deadlines

ECE 100A/B, 200A/B, 300A/B, 400A/B

Each of these "ECE Practice" courses must be successfully completed by the end of the academic term following the one having the scheduled meets as shown in the program table above. (Specifically, students are not allowed to enrol in any academic term beyond 1B without the credit for ECE 100A, beyond 2A without the credit for ECE 100B, beyond 2B without the credit for ECE 200A, beyond 3A without the credit for ECE 200B, beyond 3B without the credit for ECE 300A, or beyond 4A without the credit for ECE 300B.)

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 intended to be completed 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 should contact their program advisor). 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 (or, in exceptional circumstances 4A) term.

English Language Proficiency

Details are as described in the English Language Proficiency Requirement section. Students must achieve this milestone before entering any academic term beyond 2A.

WKRPT 201, 301, 401

For each of these "Work-term Report" courses, the student writes a technical report based on their work-term experience and submits it for grading in the academic term which follows the work term. More details are found in the course descriptions for WKRPT 201, WKRPT 301, and WKRPT 401; in the Engineering Examinations and Promotions section; and from the ECE Undergraduate Office or ECE website. The reports are normally submitted in the academic terms following the 3rd, 4th, and 5th work terms, as shown in the program table below, but 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 (shown in italics) without credit for the corresponding work-report course.

 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

Details are as described in the WHMIS Requirements section. Students must take Workplace Hazardous Materials Information System (WHMIS) training in order to participate in the laboratory for ECE 140 during the 1A term. Students must achieve this milestone in order to remain enrolled in 1A or to enrol in any academic term beyond 1A.

Available Options

The normal programs in Computer Engineering and Electrical Engineering, shown above, have been designed to offer a well-balanced and rewarding education. Students wishing to further enrich their studies may elect to take any option (or minor or joint degree) for which they meet the eligibility requirements. See the section on Engineering Interdisciplinary Alternatives for further information. These will 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. Consult the ECE Undergraduate Office or ECE website for more information and planning assistance.

Computer Option for Electrical Engineering Students

Electrical Engineering students share much of their core program with Computer Engineering students. The Computer Option allows Electrical Engineering students to enhance their study of software and embedded systems and specialize in areas normally associated with Computer Engineering. The option consists of eleven courses: three extra, six already part of the core program for Electrical Engineering, and two fourth-year technical electives. Successful completion of these courses results in a special designation on the student's transcript. For the designation to appear on the transcript, the student must achieve an average of at least 60% in the eleven option courses and a grade of a least 50% in each of the courses in the option. To enrol in this option, a student needs to have a cumulative average of at least 80% at the end of 2A.

The following nine courses are required (any course marked * can count towards the option or as a technical elective, but not both):

Course Title  Core or extra
ECE 103 Discrete Mathematics core
ECE 124 Digital Circuits and Systems core
ECE 155 Engineering Design with Embedded Systems core
ECE 222 Digital Computers core
ECE 224 Embedded Microprocessor Systems core
ECE 250 Algorithms and Data Structures core
*ECE 254 Operating Systems and Systems Programming extra (available in 2B)
*ECE 351 or Compilers extra (available in 3A)
  *ECE 327 Digital Hardware Systems extra (available in 3A)
*ECE 356 or Database Systems extra (available in 3B)
  *ECE 358 Computer Networks extra (available in 3B)

In addition to the above nine courses, at least two of the following fourth-year courses must be chosen as technical electives. (This list is subject to change from time to time. For further information on the eligibility of a particular course, contact the option co-ordinator).

Course Title
ECE 406 Algorithm Design and Analysis
ECE 416 Advanced Topics in Networking
ECE 418 Communications Networks 
ECE 429  Computer Architecture 
ECE 451  Software Requirements Specification and Analysis 
ECE 452  Software Design and Architectures 
ECE 453  Software Testing, Quality Assurance and Maintenance 
ECE 454 Distributed Computing 
ECE 455  Embedded Software 
ECE 457A or Cooperative and Adaptive Algorithms 
  ECE 457B  Fundamentals of Computational Intelligence
ECE 458  Computer Security 
ECE 459  Programming for Performance 


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