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 Engineering, 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 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.
- 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 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.
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
- 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, ECE 498B. See the option description or option co-ordinator for details.
- 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.
- 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.)
- 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.
- 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 |
0 |
0 |
2 |
n/a |
ECE 205 |
Advanced Calculus 1 for Electrical and Computer Engineers |
3 |
1 |
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 |
0 |
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 |
0 |
0 |
2 |
EE |
ECE 206 |
Advanced Calculus 2 for Electrical Engineering |
3 |
1 |
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 102, ECE 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
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 |
0 |
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 |
3 |
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 |