Link to the University of Waterloo home page
2008-2009

The Undergraduate Calendar

 

 

Faculty of Engineering

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

Computer Engineering

Computer Engineers apply algorithmic and digital design principles to design, build, and test computer software or hardware components used for information processing, communication, and storage – typically embedded in larger engineered systems and in distributed, networked environments. Application areas include communication, automation and robotics, power and energy, health care, business, security, entertainment, and many others. By their choice of elective courses, students specialize in the following broad domains.

  • Systems for communications, control, or power
  • Digital hardware design and embedded computation
  • Software systems and software engineering

All courses in Electrical Engineering are also accessible to Computer Engineering students (but an extra math course on vector calculus may be needed for the electromagnetic's area).

The Computer Engineering program is controlled and administered by the Department of Electrical and Computer Engineering (ECE). More information is available by contacting the ECE Undergraduate Office or browsing the ECE website.

ACADEMIC CURRICULUM IN COMPUTER ENGINEERING

The curriculum is designed to teach those fundamental physical and engineering sciences which form the basis of the work of computer engineers. It consists of prescribed core courses complemented by six technical elective courses, two technical breadth elective courses, and five complementary studies elective courses as described below.

The normal recommended program involves a course load (excluding seminars and work reports) of five or six courses per term. Laboratory exercises are compulsory where they form part of a course. Approval from the Department is required for departures from this recommended program. Permission to carry more than the normal load in any one term is at the discretion of the Department 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, the requirement for co-operative work terms may be reduced by one four-month work term.

The promotion criteria used to determine progression through the program in Computer Engineering are as described in the Engineering Examinations and Promotions section.

The table below outlines the eight academic terms. Information about the options mentioned in Note 2 follows in the next section.

Notes

  1. There are a total of thirteen elective courses. Six are technical electives, two are technical breadth electives, and five are complementary studies electives. Normally, students take two technical electives in 4A, four technical electives in 4B, and the others (technical breadth, complementary studies) in the remaining elective slots between 2A and 4B. Students may deviate from this order but must take 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 391, 492A, 492B. See the option description or option coordinator for details. Students in the Option in Software Engineering are required to take ECE 451, 452, 453 which contain significant design experience that is equivalent to ECE 391, 492A, 492B. They also cannot take ECE 355 due to content overlap with the option. For these option students, ECE 451 replaces ECE 355 and ECE 391 as a core course in the 3B term, ECE 452 replaces ECE 492A as a core course in the 4A term, and ECE 453 replaces ECE 492B and is a technical elective course in the 4B term. Students must complete all of ECE 451, 452, 453 for these substitutions to apply.

  3. Special topics courses (ECE 493 lectures) are offered as resources and faculty interests permit. Students should consult the ECE Undergraduate Office or website for upcoming topics.

Average scheduled hours per week are indicated in the columns C for class (LEC or SEM), T for tutorial (TUT), and L for laboratory (LAB or PRJ). Most laboratories are either open or scheduled every second or third week. The superscripts 8 and 4S are for information specific to Stream 8 and Stream 4S, respectively. See the Study/Work Sequence section for stream information.


Term 1A (Fall)

C

T

L

CHE 102 Chemistry for Engineers

3

1

ECE 150 Fundamentals of Programming

3

1

2

GENE 167 Introduction to Methods of Electrical and Computer Engineering

1

2

MATH 115 Linear Algebra for Engineering

3

2

MATH 117 Calculus 1 for Engineering

3

2

PHYS 115 Mechanics

3

2


Term 1B (Winter8, Spring4S)

C

T

L

ECE 100 Fundamentals of Electrical Engineering

5

3

1.5

ECE 102 Class Professor Seminar

1

ECE 103 Discrete Mathematics for Engineers

3

1

MATH 119 Calculus 2 for Engineering

3

2

MSCI 261 Engineering Economics: Financial Management for Engineers

3

1

PHYS 125 Physics for Engineers

3

2

WKRPT 100 4S Work-term Report


Term 2A (Fall8, Winter4S)

C

T

L

ECE 201 Class Professor Seminar

1

ECE 209 Electronic and Electrical Properties of Materials

3

1

ECE 223 Digital Circuits and Systems

3

1

1.5

ECE 250 Algorithms and Data Structures

3

1

1.5

MATH 211 Advanced Calculus 1 For Electrical and Computer Engineers

3

1

One Elective Course (see Note 1)

TPM Technical Presentation Milestone

WKRPT 100 8 Work-term Report


Term 2B (Spring8, Fall 4S)

C

T

L

ECE 202 Class Professor Seminar

1

ECE 204 Numerical Methods

3

1

ECE 222 Digital Computers

3

1

1.5

ECE 241 Circuit Analysis and Design

3

1

1.5

ECE 251 Programming Languages and Translators

3

1

1.5

One Elective Course (see Note 1)

WKRPT 200 4S Work-term Report


Term 3A (Winter8, Spring4S)

C

T

L

ECE 301 Class Professor Seminar

1

ECE 316 Probability Theory and Random Processes

3

1

ECE 324 Microprocessor Systems and Interfacing

3

1

1.5

ECE 342 Signals and Systems

3

1

ECE 354 Real-time Operating Systems

3

1

1.5

One Elective Course (see Note 1)

WKRPT 200 8 or WKRPT 3004S Work-term Report


Term 3B (Fall 8, Winter 4S)

C

T

L

ECE 302 Class Professor Seminar

1

ECE 318 Communication Systems

3

1

1.5

ECE 327 Digital System Engineering

3

1

1.5

ECE 355 Software Engineering

3

1

1.5

ECE 380 Analog Control Systems

3

1

1.5

ECE 391 Engineering Design Concepts (see Note 2)

2

One Elective Course (see Note 1)

WKRPT 300 8 or WKRPT 400 4S Work-term Report


Term 4A (Spring)

C

T

L

ECE 401 Class Professor Seminar

1

ECE 492A Engineering Design Project (see Note 2)

10

Four Elective Courses (see Note 1)

WKRPT 400 8 Work-term Report


Term 4B (Winter)

C

T

L

ECE 402 Class Professor Seminar

1

ECE 492B Engineering Design Symposium (see Note 2)

Five Elective Courses (see Note 1)


Elective Courses – Complementary Studies Electives

Students are required to complete five complementary studies elective (CSE) courses to satisfy the Complementary Studies Requirements for Engineering Students. These are in addition to the course MSCI 261 which is part of the core program for Computer Engineering. These five CSE courses are chosen according to the following.

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.

Elective Courses – Technical Breadth Electives

Students are required to complete two technical breadth elective (TBE) courses, normally taken during the 2B, 3A, 3B, or 4A terms. Computer Engineering students share much of their core program with Electrical Engineering. The ECE technical breadth electives allow students to enhance their study of semiconductors, microwaves, or energy systems and to specialize in areas normally associated with Electrical Engineering. Some courses from other programs are allowed if they have sufficient science and engineering science content to expand the scope of application of computer engineering concepts. Further information is available from the ECE Undergraduate Office or website. Some courses of interest may require prerequisite knowledge that is not part of the core program in Computer Engineering. Students may require extra courses or may need to seek enrollment approval from the course professor if the prerequisite knowledge was acquired by other means. A course used as a technical breadth elective cannot also be used as a technical elective.

Technical breadth electives are chosen from the following list.

C

T

L

ECE 231 Electronic Devices

3

1

1.5

ECE 261 Energy Systems

3

1

1.5

ECE 309 Introduction to Thermodynamics and Heat Transfer

3

1

ECE 332 Electronic Circuits

3

1

1.5

ECE 370 Electromagnetic Fields

3

1

1.5

ECE 471 Electromagnetic Waves

3

1

1.5

PSYCH 256/PHIL 256 Introduction to Cognitive Science

3

At most one of
• ECE 362 Modeling and Control of Electric Drives
• ME 269 Electromechanical Devices and Power Processing


3
3


1
1


1.5
1.5

At most one of
• ME 321 Kinematics and Dynamics of Machines
• SYDE 382 Modelling and Simulation of Mechanical Systems


3
3


1
1



Elective Courses – Technical Electives

Students are required to complete six technical elective (TE) courses, normally taken during the fourth year. Up to two of these may be technical courses from other programs, which must have significant components of both engineering science and engineering design to be allowed. Further information is available from the ECE Undergraduate Office or website. Some courses of interest may require prerequisite knowledge that is not part of the core program in Computer Engineering. Students may require extra courses or may need to seek enrollment approval from the course professor if the prerequisite knowledge was acquired by other means.

The following technical electives are normally offered for the Spring (4A) term.

C

T

L

ECE 411 Digital Communications

3

1

ECE 413 Digital Signal Processing

3

1

ECE 418 Communications Networks

3

1

ECE 431 Radio Frequency Microelectronics

3

1

ECE 438 Digital Integrated Circuits

2

1

1.5

ECE 454 Distributed and Network Computing

3

1

1.5

ECE 457 Applied Artificial Intelligence

3

1

1.5

ECE 463 Design & Applications of Power Electronic Converters

2

1

1.5

ECE 488 Multivariable Control Systems

3

1

ECE 493 Special Topics in Electrical and Computer Engineering (see Note 3)

3

1


The following technical electives are normally offered for the Winter (4B) term.

C

T

L

ECE 412 Coded Digital Communications

3

1

ECE 414 Wireless Communications

3

1

ECE 428 Computer Networks and Security

3

1

ECE 429 Computer Structures

3

1

ECE 434 Microsystems Technology

2

1

1.5

ECE 437 Integrated VLSI Systems

2

1

1.5

ECE 439 Analog Integrated Circuits

2

1

1.5

ECE 443 Circuit Analysis and Filter Design

3

1

ECE 456 Database Systems

3

1

1.5

ECE 467 Power System Operation and Markets

3

1

ECE 476 Antennas and Wireless Systems

3

1

ECE 477 Photonic Communication Systems and Devices

2

1

1.5

ECE 484 Digital Control Applications

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


The following project elective is offered every term. Students may take it at most once in the program as a technical elective.

C

T

L

ECE 499 Engineering Project

10


The following courses are offered for the core program in Electrical Engineering and are considered technical electives for Computer Engineering students (subject to space and scheduling availability). A course used as a technical elective cannot also be used as a technical breadth elective.

C

T

L

ECE 309 Introduction to Thermodynamics and Heat Transfer

3

1

ECE 332 Electronic Circuits

3

1

1.5

ECE 362 Modeling and Control of Electric Drives

3

1

1.5

ECE 471 Electromagnetic Waves

3

1

1.5

Technical Presentation Milestone (TPM)

This milestone is completed when the student successfully delivers a short technical presentation. Each student does this presentation during their 2A term. If unsuccessful, another attempt is allowed during their 2B term. If still unsuccessful, the student must take a course to satisfy this requirement before the beginning of the 3B term. Students are not allowed to enroll in 3B until the milestone is completed. A course used to satisfy this milestone cannot also be counted as a complementary studies elective.

AVAILABLE OPTIONS

The normal program in Computer Engineering, shown above, has 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 website for more information and planning assistance.



 

 

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