Curriculum: Computer Engineering
Core courses and typical schedule
A typical schedule for this option is provided below. Please consult official degree requirements in the university calendar for more details.
(Honors, General)
- Link to for pre-requisite and course descriptions.
NOTE: Students may NOT change their requirement term at any time, contrary to the University Calendar.
Year 1 (Standard schedule)
Term 1, Fall | Term 2, Spring | Term 3, Summer | |||
ENSC 151 – 4 |
Intro to Software Development for Engineers | ENSC 180-3 | Introduction to Engineering Analysis |
CHEM 121-4 | General Chemistry & Lab |
MATH 152-3 |
Calculus II | PHYS 121-3 | Optics, Electricity, and Magnetism | ||
ENSC 100W-3 | Engineering, Science, and Society | MATH 232-3 |
Applied Linear Algebra | MATH 260 | Introduction to Ordinary Differential Equations |
ENSC 105W-3 | Process, Form and Convention in Professional Genres |
PHYS 120-3 |
Mechanics and Modern Physics | CMPL I | First Complementary Studies Elective |
ENSC 120-2 | Introduction to Electronics Laboratory Instruments |
||||
MATH 151-3 | Calculus I - or MATH 150 |
Year 1 (Advanced schedule)
Term 1, Fall | Term 2, Spring | Term 3, Summer | |||
ENSC 151 – 4 |
Intro to Software Development for Engineers | ENSC 180-3 | Introduction to Engineering Analysis |
||
MATH 152-3 |
Calculus II | ||||
ENSC 100W-3 | Engineering, Science, and Society | MATH 232-3 |
Applied Linear Algebra | ||
ENSC 105W-3 | Process, Form and and Convention in Professional Genres |
PHYS 121-3 |
Optics, Electricity, and Magnetism |
||
ENSC 120-2 | Introduction to Electronics Laboratory Instruments* |
CHEM 121-4 | General Chemistry & Lab | ||
MATH 151-3 | Calculus I | CMPL I | First Complementary Studies Elective | ||
PHYS 120-3 | Mechanics and Modern Physics |
Year 2
Term 1, Fall | Term 2, Spring | Term 3, Summer | |||
ENSC 204-1 |
Graphical Communication for Engineering |
Co-op Term | ENSC 225-4 | Microelectronics | |
ENSC 220-4 |
Electric Circuits I |
ENSC 254-4 | Introduction to Computer Organization | ||
ENSC 251-4 | Software Design and Analysis for Engineers |
ENSC 280-4 | Engineering Measurement & Data Analysis | ||
ENSC 252-4 | Fundamentals in Digital Logic and Design |
ENSC 320-4 | Electric Circuits II | ||
MATH 251-3 | Calculus III | CMPT 225-3 |
Data Structures & Programming | ||
MATH 260 | Introduction to Ordinary Differential Equations (If not taken in Summer of 1st year) |
Year 3
Term 1, Fall | Term 2, Spring | Term 3, Summer | |||
CMPT 276-3 |
Introduction to Software Engineering (3) | CMPT 303-3 |
Operating Systems |
Co-op Term |
|
ENSC 324-3 | Electronic Devices | ENSC 327-4 | Communication Networks | ||
ENSC 351-4 |
Embedded and Real Time System Software | ENSC 350-4 | Digital Systems Design | ||
ENSC 380-3 | Linear Systems | ESD Elective I-3 | First Engineering Science and Design Elective | ||
MACM 201-3 | Discrete Mathematics II | MACM 316-3 | Numerical Analysis I |
Year 4
Term 1, Fall | Term 2, Spring | Term 3, Summer | ||
Co-op Term |
Cmpl II | Second Complementary Elective | ECON 103-4 |
Principles of Microeconomics |
ENSC 405W-3 | Project Documentation, User Interface Design, and Group Dynamics | ENSC 406-2 | Engineering Ethics, Law, and Professional Practice | |
ENSC 410-3 | The Business of Engineering | ENSC 429-4 | Digital Signal Processing | |
ENSC 450-4 and/or ENSC 452-4 and/or ENSC 453-4 (two courses are required for constrained elective & one can be used as ESD elective) |
VLSI Systems Design or Advanced Digital System Design or Programming for Heterogeneous Computing Systems |
ENSC 440-3 | Capstone Engineering Science Project | |
ESD Elective II-3 | Second Engineering Science and Design Elective | ESD Elective IV-3 | Fourth Engineering Science and Design Elective | |
ESD Elective III-3 | Third Engineering Science and Design Elective | Scie I | First Science Elective |
Additional Requirements for Honors:
- ENSC 498-1 Engineering Science Thesis Proposal
- ENSC 499-9 Engineering Science Undergraduate Thesis
Electives:
Proposed Engineering Science and Design Electives
As part of the required 12 units of Engineering Science & Design Electives, students in the Computer Engineering Option must complete at least one of the following course sets:
- ENSC 450 or 452 or 453 (whichever has not been taken),
Students who have taken CMPT276 instead of CMPT275, should take two of the three ENSC constrained elective courses, namely ENSC 450, 452, 453 (whichever has not been taken) and these would not count towards their ESD electives. - CMPT 310
- CMPT 354 and CMPT 454
- CMPT 431
- CMPT 361
- CMPT 475 or CMPT 373
- ENSC 427 and ENSC 428
- ENSC 386, ENSC 383 and ENSC 488
The remaining engineering science and design units can by fulfilled using courses as below:
- any ESD course from the above course sets not already taken*
- any ENSC 300 or 400 level course*
- any of the following approved computing science 3rd and 4th year electives*
- CMPT 305 Computer Simulation and Modelling
- CMPT 307 Data Structures and Algorithms
- CMPT 308 Computability and Complexity
- CMPT 310 Artificial Intelligence Survey
- CMPT 363 User Interface Design
- CMPT 370 Information System Design
- CMPT 375 Mathematical Foundations of Software Technology
- CMPT 379 Principles of Compiler Design
- CMPT 383 Comparative Programming Languages
- CMPT 384 Symbolic Computing
- CMPT 404 Cryptography and Cryptographic Protocols
- CMPT 405 Design and Analysis of Computing Algorithms
- CMPT 407 Computational Complexity
- CMPT 408 Theory of Computing Networks/Communications
- CMPT 409 Special Topics in Theoretical Computing Science
- CMPT 411 Knowledge Representation
- CMPT 412 Computational Vision
- CMPT 414 Model-Based Computer Vision
- CMPT 417 Intelligent Systems
- CMPT 418 Computational Cognitive Architecture
- CMPT 419 Special Topics in Artificial Intelligence
- CMPT 441 Computational Biology
- CMPT 456 Information Retrieval and Web Search
- CMPT 459 Special Topics in Database Systems
- CMPT 461 Image Synthesis
- CMPT 464 Geometric Modelling in Computer Graphics
- CMPT 466 Animation
- CMPT 467 Visualization
- CMPT 469 Special Topics in Computer Graphics
- CMPT 470 Web-based Information Systems
- CMPT 473 Software Quality Assurance
- CMPT 474 Web Systems Architecture
- CMPT 477 Introduction to Formal Verification
* A maximum of two 300-level courses may be included within the 12 units. ENSC 412 is intended as a breadth course for Faculty of Environment students. Engineering students may take ENV 412 as a breadth course but cannot take ENSC 412 as an ESD elective.