Skip to the content of the web site.

Technical Electives (TEs)

ECE Students must pre-enrol in all elective courses.
Courses without sufficient numbers after pre-enrollment will be canceled. Pre-enrollment for 4A is in October of the previous year, pre-enrollment for 4B is in June of the previous year. See Important Dates.

Note that enrollment in 4A or 4B courses is not guaranteed if you do not pre-enrol. Pre-enrollment is used to find sufficiently large classrooms for all courses across all disciplines and failure to pre-enrol may result in a classroom that is smaller than the actual demand. Those Technical Electives that you are most interested in must therefore be listed first on your pre-enrollment form.

Classes of 2008-13

Each ECE Undergraduate student graduating with the Classes of 2008-13 must complete six Technical Electives (TEs). Of those six courses, at least four must be approved ECE NNN courses; however, a student may chose to take up two two technical electives from other engineering departments as approved below. Due to resource limitations or limited enrollment, it may be necessary to have to cancel some offerings of certain 4th-year Technical Electives.

Class of 2014+

Each ECE Undergraduate student graduating with the Classes of 2014+ must complete five Technical Electives (TEs). Of those five courses:

  • At least three must be approved ECE NNN courses,
  • At most two may be 2nd- or 3rd-year courses (ECE 2NN and ECE 3NN) from the other ECE program as approved below, and
  • At most two may be taken from other departments (usually engineering) as approved below.

Due to resource limitations or limited enrollment, it may be necessary to have to cancel some offerings of certain 4th-year Technical Electives. Students must Pre-enrol in all technical electives.

List of Technical Electives

4A4B
ECE 411Digital Communications
  - Spring 2012 course information
ECE 406Algorithm Design and Analysis
  - Winter 2012 course information
ECE 413Digital Signal Processing ECE 409Cryptography and System Security
  - first offered: Winter 2014
ECE 418Communications Networks
  - Spring 2012 course information
ECE 414Wireless Communications
  - Winter 2012 course information
ECE 419Communication System Security
  - Spring 2012 course information
ECE 415Multimedia Communications
  - Winter 2012 course information
ECE 429Computer Architecture
  - Spring 2012 course information
ECE 416Higher Level Network Protocols
  - first offered: Winter 2014
   ECE 428Computer Networks and Security
  - Winter 2012 course information
ECE 432Radio Frequency Wireless Microelectronics, Optoelectronic Semiconductor Integrated Circuit & Sensor
  - Spring 2011 course information
ECE 417Image Processing
ECE 445Integrated Digital Electronics
  - Spring 2011 course information
ECE 423Embedded Computer Systems
  - first offered: Winter 2014
ECE 452Software Software Design and Architectures ECE 433Semiconductor Device Technology
  - Winter 2012 course information
ECE 454Distributed Computing
  - Spring 2012 course information
ECE 444Integrated Analog Electronics
  - Winter 2012 course information
ECE 455Embedded Software
  - Spring 2012 course information
ECE 451Software Software Requirements Specification and Analysis
ECE 457ACooperative and Adaptive Algorithms
  - Spring 2011 course information
ECE 453Software Testing, Quality Assurance and Maintenance
  - Winter 2012 course information
ECE 462Electrical Distribution Systems
  - first offered: Spring 2012
ECE 456Database Systems
ECE 463Design and Applications of Power Electronic Converters ECE 457BFundamentals of Computational Intelligence
  - Winter 2012 course information
ECE 473Radio Frequency and Microwave Circuits
  - Spring 2011 course information
ECE 458Computer Security
  - Winter 2012 course information
ECE 475Electromagnetic Radiation and Propagation
  - first offered: Spring 2013
ECE 459Programming for Performance
  - Winter 2012 course information
ECE 481Digital Control Systems
  - Spring 2012 course information
ECE 464High Voltage Engineering and Power System Protection
  - Winter 2012 course information
ECE 486Robot Dynamics and Control
  - Spring 2012 course information
ECE 467Power System Analysis, Operations and Markets
  - Winter 2012 course information
ECE 474Radio and Wireless Systems
  - Winter 2012 course information
ECE 477Photonic Devices and Systems
  - Winter 2012 course information
ECE 488Multivariable Control Systems
  - Winter 2012 course information

It must be noted that ECE 403 (cross-listed with PHYS 358), ECE 404 (cross-listed with PHYS 256), and ECE 405 (cross-listed with PHYS 233) do not count as Technical Electives; they are List-1 Natural Science Electives (NSEs).

Descriptions of Technical Electives

The following slides have been prepared by various faculty members to describe the different categories of 4th-year Technical Electives. Detailed descriptions of the individual courses is available at the link on the New Curriculum.

Course
Number
CategoryPresentation
00sGeneral Engineering CoursesTE-00s.pdf (pptx)
10sCommunications/Information SystemsTE-10s.pdf (pptx)
20sComputer HardwareTE-20s.pdf (pptx)
30sDevices/Fabrication/VLSITE-30s.pdf (pptx)
40sCircuitsTE-40s.pdf (pptx)
50sComputer Software/Software EngineeringTE-50s.pdf (pptx)
60sPowerTE-60s.pdf (pptx)
See below for grad courses.
70sMicrowaves/PhotonicsTE-70s.pdf (pptx)
80sControlTE-80s.pdf (pptx)
90sDesign ProjectECE 499

Other ECE Courses Acceptable as Technical Electives for
Electrical Engineering Students (Classes of 2008-13)

These four courses may be used as Technical Electives for Electrical Engineering students graduating with the Classes of 2008-13:

  • ECE 324/325 Microprocessor Systems and Interfacing
  • ECE 327 Digital Systems Engineering
  • ECE 354 Real-Time Operating Systems
  • ECE 355 Software Engineering

Other ECE Courses Acceptable as Technical Electives for
Computer Engineering Students (Classes of 2008-13)

These four courses may be used as Technical Electives for Computer Engineering students graduating with the Classes of 2008-13:

  • ECE 309 Introduction to Thermodynamics and Heat Transfer
  • ECE 332 Electronic Circuits
  • ECE 362 Modeling and Control of Electric Drives
  • ECE 471 Electromagnetic Waves

Each of these courses is also approved as a Technical Breadth Elective (TBE); however, each course may be used to count as a TE or a TBE but not both.

Other ECE Courses Acceptable as Technical Electives for
Electrical Engineering Students (Class of 2014+)

Two of these five courses may be used as Technical Electives for Electrical Engineering Students graduating with the Classes of 2014+:

  • ECE 254 Operating Systems and Systems Programming
  • ECE 327 Digital Hardware Systems
  • ECE 351 Compilers
  • ECE 356 Database Systems
  • ECE 358 Computer Networks

Other ECE Courses Acceptable as Technical Electives for
Computer Engineering Students (Class of 2014+)

Two of these three courses may be used as Technical Electives for Computer Engineering Students graduating with the Classes of 2014+:

  • ECE 331 Electronic Devices
  • ECE 361 Power Systems
  • ECE 375 Electromagnetic Fields and Waves

Taking Technical Electives in Terms other than 4A and 4B

Some courses (for example, ECE 428) are taught outside of their scheduled 4th-year Academic Terms as a service to other programs. If, for example, a student who is in Waterloo during his or her sixth Co-op Work Term (between 4A and 4B) or possibly even between 3B and 4A if the student is in Stream 8, that student may consider taking available courses in Software Engineering, Mechatronics, or Nanotechnology, however, any such choice must be discussed with the appropriate Program Academic Advisor. Please contact the appropriate Program Advisor/Co-ordinator (Computer Engineering or Electrical Engineering). Such courses will almost certainly require a Course Override Form signed by the Course Instructor to override prerequisites. This form must be submitted to the appropriate Program Advisor/Co-ordinator.

Approving Alternate Technical Electives

If you would like to take a course and have it count as a TE but it does not appear below, you may request to have the course approved as a Technical Elective. Please fill in an Elective Approval Form and submit it to your Academic Advisor before you take the course.

Graduate-Level TEs

If the course is a graduate-level ECE course, please consult with the Professor to ensure that the course is not equivalent to an already-existing 4th-year ECE course.

Note that graduate students usually take only two courses per term and that the work-load in each course can be commensurately higher. If you are not maintaining an excellent standing, you should seriously consider whether or not you require a particular graduate-level course for your technical electives.

Management Science Technical Electives

Up to two of the five Management Science courses

  • MSCI 331 Operations Research 1,
  • MSCI 431 Operations Research 2,
  • MSCI 432 Production and Operations Management,
  • MSCI 444 Information Systems Analysis and Design (for EE students only), or
  • MSCI 452 Decision Making Under Uncertainty

may be used to satisfy your maximum of two 4th-year non-ECE TEs. These are often taken by students completing the Management Science option.

Other Technical Electives

If you choose to take a non-ECE technical elective, you should check to make sure that you have sufficient engineering design and engineering science. To determine this, fill out the following On-line Engineering Engineering Content Requirements Assessment.

The courses listed in Table 2 show all other non-ECE courses which have, in the past, been used as Technical Electives. You may need to fill in a Course Override Form to be admitted into these courses, as you may need the Professor's approval.

  • ACTSC/STAT 446 Mathematical Models in Finance
  • CIVE 460 Orthopaedic Bioengineering
  • CS 343 Concurrent and Parallel Programming
  • CS 349 User Interfaces
  • CS 442 Principles of Programming Languages
  • CS 448 Database Systems Implementation
  • CS 452 Real-time Programming
  • CS 473 Numerical Methods for Computing Eigen and Singlar Value Decompositions
  • CS 488 Introduction to Computer Graphics
  • ECON 405 Quantitative Finance
  • ME 351 Fluid Mechanics 1
  • ME 452 Energy Transfer in Buildings
  • ME 459 Energy Conversion
  • MSCI 331 Operations Research 1
  • MSCI 431 Operations Research 2
  • MSCI 432 Production and Operations Management
  • MSCI 452 Decision Making Under Uncertainty
  • SE 382 Human-computer Interaction
  • SYDE 311 Engineering Optimization
  • SYDE 348 -
  • SYDE 372 Introduction to Pattern Recognition
  • SYDE 382 - (requires approval from your Academic Advisor)
  • SYDE 422 Machine Intelligence
  • SYDE 444 Biomedical Engineering: Human Function and its Measurement
  • SYDE 454 Computer Simulation of Systems
  • SYDE 534 -
  • SYDE 542 Interface Design
  • SYDE 558 Fuzzy Logic and Neural Networks
  • SYDE 575 Image Processing
  • SYDE 5NN (requires approval from your Academic Advisor)

Graduate Courses

A number of undergraduate students have opted at times to take graduate-level courses either as technical electives or as extra courses (possibly for graduate studies). These must be added through Course Override Forms, as a graduate course requires an override of the student's career. The following graduate-level courses may be appropriate for some ECE undergraduate students:

  • ECE 662 Power Systems
  • ECE 665 High Voltage Engineering Applications
  • ECE 669 Dielectric Materials
  • ECE 760 Topic 4 Operation Restructured Power Systems (prerequisite of ECE 467)
  • ECE 765 Topic 4 Distribution Systems Engineering
  • ECE 671 Microwave & RF Engineering

Please see the Schedule of Classes for Graduate Students, select ECE for the subject. To add such a course, you must fill in a Course Override Form and have the instructor sign it before you submit it to your Program Advisor/Co-ordinator. Courses where the Catalog Number ends in PD may not be taken as a technical electives under any circumstances.

Courses NOT Allowed as TEs

The following courses are not allowed as Technical Electives: ECON 3721, ECON 403, ECON 404, KIN 341, SCI 238, ACTSCI 223, CS 241, CS 432, SYDE 524 (too close to ECE 354), MSCI 454.

It must be noted that ECE 403 (cross-listed with PHYS 358), ECE 404 (cross-listed with PHYS 256), and ECE 405 (cross-listed with PHYS 233) do not count as Technical Electives; they are List-1 Natural Science Electives (NSEs).

Notes:

1 While ECON 372 is an antirequisite of STAT 446 (there is at least a 50% overlap), it is not at the same level as STAT 446 and consequently, may not be used as a TE.