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 three more specialized programs, in Mechatronics 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 specialize 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 specialization in upper-year electives.
ECE identifies ten overlapping target areas in the discipline as listed below.
- Communications, modulation and coding, multimedia, wireless.
- Networks, mobility, distributed computing.
- Energy distribution, motors/generators, power electronics, energy marketing.
- Control, automation, robotics, mechatronics.
- Digital architectures, embedded computers, formal specification and design.
- Analog or digital devices, circuits, VLSI, micro-/nano-fabrication methods.
- Microwave (radio frequency) or photonic devices and systems.
- Signal processing, computational intelligence, soft computing.
- Software systems, components, security, embedded software.
- 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 specialize 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.
The programs described here are new for students entering in 2009 or beyond. Students who entered one of these programs before 2009 should follow the appropriate prior calendar for the curriculum and course descriptions of their core program. However, see the note at the end of this section regarding the Option in Software Engineering.
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 coordination 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 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. 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
- 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.
- Students in the Option in Biomechanics or the Option in Mechatronics must choose a compatible topic for their design project sequence in ECE 498A, 498B. See the option description or option coordinator for details.
- Special topics courses (ECE 493) are offered as resources and faculty interests permit. Students should consult the ECE Undergraduate Office or website for upcoming topics. Some offerings may have laboratory meets.
- The "Electrical and Computer Engineering Practice" courses (ECE 100A/B, 200A/B, 300A/B, 400A/B) have pass/fail requirements and deadlines for successful completion. The "Work-term Report" courses (WKRPT 101, 201, 301, 401) have minimal-grade requirements and deadlines for successful completion. (Courses with deadlines for successful completion are described as type DRNC in the promotion rules.)
- 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.
- The courses labelled ECE 105 and ECE 106 may be offered as PHYS courses rather than ECE courses.
|
Academic Term 1A (Fall) |
C
|
T
|
L
|
|
CHE 102 |
Chemistry for Engineers |
3
|
1
|
–
|
|
ECE 100A |
Electrical and Computer Engineering Practice (see note 4) |
2
|
–
|
–
|
|
ECE 105 |
Physics of Electrical Engineering 1 (see note 6) |
3
|
1
|
–
|
|
ECE 140 |
Linear Circuits |
3
|
2
|
1
|
|
ECE 150 |
Fundamentals of Programming |
3
|
1
|
2
|
|
MATH 117 |
Calculus 1 for Engineering |
3
|
2
|
–
|
|
English Language Proficiency Milestone |
|
Workplace Hazardous Materials Milestone |
|
Academic Term 1B (Winter8, Spring4S) |
C |
T |
L |
|
ECE 100B |
Electrical and Computer Engineering Practice (see note 4) |
2
|
–
|
–
|
|
ECE 103 |
Discrete Mathematics |
3
|
1
|
–
|
|
ECE 106 |
Physics of Electrical Engineering 2 (see note 6) |
3
|
1
|
1.5
|
|
ECE 124 |
Digital Circuits and Systems |
3
|
1
|
1.5
|
|
ECE 155 |
Engineering Design with Embedded Systems |
3
|
1
|
1.5
|
|
MATH 119 |
Calculus 2 for Engineering |
3
|
2
|
–
|
|
Work Term (Winter4S, Spring8) |
|
COOP 1 |
Co-operative Work Term |
|
PDENG 15 |
Professional Development - Overview |
|
Academic Term 2A (Fall8, Winter4S) |
C
|
T
|
L
|
|
ECE 200A |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 222 |
Digital Computers |
3
|
1
|
1.5
|
|
ECE 240 |
Electronic Circuits 1 |
3
|
1
|
1.5
|
|
ECE 250 |
Algorithms and Data Structures |
3
|
1
|
1.5
|
|
ECE 290 |
Engineering Profession, Ethics, and Law |
3
|
1
|
–
|
|
MATH 115 |
Linear Algebra for Engineering |
3
|
1
|
–
|
|
MATH 211 |
Advanced Calculus 1 for Electrical and Computer Engineers |
3
|
–
|
2
|
|
WKRPT 1014S |
Work-term Report (see note 4) |
|
Work Term (Fall4S, Winter8) |
|
COOP 2 |
Co-operative Work Term |
|
PDENG 25 |
Professional Development - Critical Analysis |
|
Academic Term 2B (Spring8, Fall4S) |
C
|
T
|
L
|
|
ECE 200B |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 207 |
Signals and Systems |
3
|
1
|
–
|
|
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
|
EE |
MATH 212 |
Advanced Calculus 2 for Electrical Engineering |
3
|
–
|
2
|
|
WKRPT 1018 |
Work-term Report (see note 4) |
|
WKRPT 2014S |
Work-term Report (see note 4) |
|
One elective course (see note 1) |
|
Technical Presentation Milestone |
|
Work Term (Spring4S, Fall8) |
|
COOP 3 |
Co-operative Work Term |
|
PDENG 35 |
Professional Development - Responsibility |
|
Academic Term 3A (Winter8, Spring4S) |
C
|
T
|
L
|
|
ECE 300A |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 316 |
Probability Theory and Random Processes |
3
|
1
|
–
|
|
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
|
|
WKRPT 2018 |
Work-term Report (see note 4) |
|
WKRPT 3014S |
Work-term Report (see note 4) |
|
One elective course (see note 1) |
|
Work Term (Winter4S, Spring8) |
|
COOP 4 |
Co-operative Work Term |
|
PDENG 45 |
Professional Development - Leadership |
|
Academic Term 3B (Fall8, Winter4S) |
C
|
T
|
L
|
|
ECE 300B |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 318 |
Analog and Digital Communications |
3
|
1
|
1.5
|
|
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 |
3
|
1
|
1.5
|
|
WKRPT 3018 |
Work-term Report (see note 4) |
|
WKRPT 4014S |
Work-term Report (see note 4) |
|
One elective course (see note 1) |
|
Work Term (Fall4S, Winter8) |
|
COOP 5 |
Co-operative Work Term |
|
PDENG 55 |
Professional Development - Integration |
|
Academic Term 4A (Spring) |
C
|
T
|
L
|
|
ECE 400A |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 498A |
Engineering Design Project (see note 2) |
–
|
–
|
10
|
|
WKRPT 4018 |
Work-term Report (see note 4) |
|
Four elective courses (see note 1) |
|
Work Term (Fall) |
|
COOP 6 |
Co-operative Work Term |
|
Academic Term 4B (Winter) |
C
|
T
|
L
|
|
ECE 400B |
Electrical and Computer Engineering Practice (see note 4) |
1
|
–
|
–
|
|
ECE 498B |
Engineering Design Project (see note 2) |
–
|
–
|
10
|
|
Four elective courses (see note 1) |
|
Elective Courses
Complementary Studies
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 PDENG 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
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 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 exceptional cases, a student could select three courses from List 2 to meet their natural science elective degree requirement.
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 coop work term.
List 1: Natural Science Intensive Courses
BIOL 130 and 130L |
Introductory Cell Biology |
BIOL 140 and 140L |
Fundamentals of Microbiology |
BIOL 273 and 273L |
Principles of Human Physiology 1 |
CHEM 120 and 120L |
Physical and Chemical Properties of Matter |
CHEM 123 and 123L |
Chemical Reactions, Equilibria and Kinetics |
CHEM 237 and 237L |
Introductory Biochemistry |
CHEM 262 and 262L |
Organic Chemistry for Engineering and Bioinformatics Students |
ECE 209 |
Electronic and Electrical Properties of Materials |
ENVS 200 |
Field Ecology |
NE 122 |
Organic Chemistry for Nanotechnology Engineers |
PHYS 256 and 260B |
Geometrical and Physical Optics/Intermediate Physics Laboratory 2 |
List 2: Natural Science Courses
BIOL 110 |
Introductory Zoology |
BIOL 112 |
Introductory Biology 2 |
BIOL 130 |
Introductory Cell Biology |
BIOL 140 |
Fundamentals of Microbiology |
BIOL 211 |
Introductory Vertebrate Zoology |
BIOL 241 |
Introduction to Applied Microbiology |
BIOL 250 |
Organismal and Evolutionary Ecology |
BIOL 265 |
Diversity of Life |
BIOL 273 |
Principles of Human Physiology 1 |
CHE 161 |
Engineering Biology |
CHEM 120 |
Physical and Chemical Properties of Matter |
CHEM 123 |
Chemical Reactions, Equilibria and Kinetics |
CHEM 140L |
Introductory Scientific Calculations Laboratory |
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 |
CIVE 127 |
Statics & Solid Mechanics 1 |
CIVE 153/ENVE 153/GEOE 153 |
Earth Engineering |
EARTH 121 |
Introductory Earth Sciences |
EARTH 122 |
Introductory Environmental Sciences |
EARTH 123 |
Introductory Hydrology |
EARTH 205 |
Introduction to Atmospheric Science |
EARTH 221 |
Geochemistry 1 |
EARTH 270 |
Disasters and Natural Hazards |
EARTH 281 |
Geological Impacts on Human Health |
EARTH 358 |
Earth System Science |
EARTH 359 |
Flow Through Porous Media |
EARTH 361 |
Atmospheric Motions and Physics |
EARTH 444 |
Applied Wetland Science |
EARTH 458 |
Physical Hydrogeology |
ENVE 127 |
Statics and Solid Mechanics |
ENVE 275 |
Environmental Chemistry |
ENVE 276 |
Environmental Biology and Biotechnology |
PHYS 234 |
Quantum Physics 1 |
PHYS 256 |
Geometrical and Physical Optics |
PHYS 258 |
Thermal Physics |
PHYS 263 |
Classical Mechanics and Special Relativity |
PHYS 275 |
Astrophysics 1 -- The Solar System |
PHYS 280 |
Introduction to Biophysics |
PHYS 334 |
Quantum Physics 2 |
PHYS 335 |
Condensed Matter Physics |
PHYS 375 |
Astrophysics 2 -- Stars and Stellar Evolution |
PHYS 380 |
Molecular Biophysics |
PHYS 445 |
Modern Optics |
SCI 238 |
Introductory Astronomy |
Technical
Students are required to complete five 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 or Electrical 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 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 website.
The following TE courses 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 452 |
Software Design and Architectures |
3 |
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 |
3 |
1
|
1.5
|
ECE 475 |
Radio Frequency Systems |
3 |
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 TE courses 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 451 |
Software Requirements Specification and Analysis |
3 |
1
|
1.5
|
ECE 453 |
Software Testing, Quality Assurance and Maintenance |
3 |
1
|
1.5
|
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 TE course. |
|
C
|
T
|
L
|
ECE 499 |
Engineering Project |
–
|
–
|
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. |
|
C
|
T
|
L
|
ECE 331 |
Electronic Devices |
3
|
1
|
1.5
|
ECE 361 |
Power Systems |
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. |
|
|
C
|
T
|
L
|
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 has pass/fail requirements and 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 enroll 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
This milestone is completed when the student successfully delivers a short technical presentation. Each student must do a 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 may not proceed beyond 3A until this milestone is completed. A course used to satisfy this milestone cannot also be counted as a complementary studies elective.
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 101, 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 101, 201, 301, and 401; in the Engineering Examinations and Promotions section; and from the ECE Undergraduate Office or website. The reports are normally submitted in the academic terms following the 2nd, 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 enroll 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 101 |
1st, 2nd, 3rd |
1B, 2A, 2B |
2A, 2B, 3A |
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 enroll 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 website for more information and planning assistance.
Special Note Regarding the Option in Software Engineering
This note affects only students enrolled in Computer Engineering or Electrical Engineering prior to Fall 2009. There has been a change to the three-course sequence in software engineering such that there is no longer a large group design project. For students considering the Option in Software Engineering, the situation remains as described in prior calendars except that students must now also complete the regular ECE design project sequence ECE 391, 492A, 492B. Computer Engineering students may replace ECE 355 in 3B with one of ECE 451, 452, or 453 but are then required to complete all of ECE 451, 452, and 453 even if the rest of the option is not completed. The substituted course is considered a core course. Students with an interest in software engineering are also able to take ECE 451, 452, or 453 individually and/or in any order and these count as TE courses in the program.