Curriculum: Computer Engineering
Core courses and typical schedule
This curriculum is for students who entered Engineering Science in summer 2013 or earlier.
A typical schedule for this option is provided below. Please consult official degree requirements in the university calendar for more details.
(Honors, General)
Year 1
Term 1, Fall | Term 2, Spring | Summer | ||
CHEM 121-4 | General Chemistry & Lab | ENSC 102-1 | Form, Style, & Professional Genres* | |
CMPT 128-3 | Intro to Computing Science & Programming for Engineers* | ENSC 150-3 | Intro to Computer Design* | |
ENSC 100(W)-3 | Engineering, Science, and Society* | MATH 152-3 | Calculus II* | |
ENSC 101(W)-1 | Writing Process, Persuasion, & Presentations* | MATH 232-3 | Elementary Linear Algebra* | |
MATH 151-3 | Calculus I - or MATH 150 | PHYS 121-3 | Optics, Electricity, & Magnetism* | |
PHYS 120-3 | Modern Physics & Mechanics* | PHYS 131-2 | General Physics Lab* | |
Cmpl I | First Complementary Elective |
Year 2
Term 3, Fall |
Spring |
Term 4, Summer |
||
ENSC 215-3 |
Microcontroller/Assembly Programming |
Co-op Term |
CMPT 225-3 |
Data Structures & Programming* |
ENSC 220-3 |
Electronic Circuits* |
ENSC 204-1 |
Graphical Comminucation for Engineering* |
|
MACM 101-3 |
Discrete Mathematics* |
ENSC 224-3 |
Electronic Devices* |
|
MATH 251-3 |
Calculus III* |
ENSC 225-4 |
Microelectronics* |
|
MATH 310-3 |
Differential Equations* |
ENSC 250-3 |
Intro to Computer Architecture* |
|
STAT 270-3 |
Intro to Probability & Statistics* |
ENSC 320-3 |
Electric Circuits II* |
Year 3
Fall |
Term 5, Spring |
Summer |
Term 6, Fall |
||
Co-op Term |
CMPT 275-4 |
Software Engineering* |
Co-op Term |
ECON 103-4 |
Principles of Microeconomics |
MACM 201-3 |
Discrete Mathematics II* |
ENSC 325-4 |
Microelectronics II* |
||
ENSC 304-1 |
Human Factors & Usability Engineering* |
ENSC 327-4 |
Communication Systems* |
||
ENSC 350-3 |
Digital Systems Design |
ENSC 383-4 |
Feedback Control Systems* |
||
ENSC 351-4 |
Real Time & Embedded Systems* |
Scie I |
First Science Elective |
||
ENSC 380-3 |
Linear Systems* |
Year 4
Term 7, Spring | Summer | Term 8, Fall | ||
CMPT 300-3 | Operating Systems I | ENSC 201-3 | The Business of Engineering | |
ENSC 305-1 | Project Documentation & Team Dynamics* | ENSC 450-4 | VLSI Systems Design | |
ENSC 406-2 | Engineering Laws & Ethics* | Cmpl II | Second Complementary Elective | |
ENSC 440-4 | Capstone Engineering Science Project | ENSC 4XX-4 | Second Engineering Science Elective** | |
MACM 316-3 | Numerical Analysis I | Scie II | Second Science Elective | |
ENSC 4XX-4 | First Engineering Science Elective** |
*should be completed in the designated term; consequences of deviating from this schedule are the responsibility of the student.
**Must be an approved Computer Engineering elective. See the list of approved electives below.
Additional Requirements for Honors:
- ENSC 498-3 Engineering Science Thesis Proposal
- ENSC 499-9 Engineering Science Undergraduate Thesis
Electives:
Engineering Science Electives:
- ENSC 424 Multimedia Communications Engineering
- ENSC 425 Electronic System Design
- ENSC 426 High Frequency Electronics
- ENSC 427 Communication Networks
- ENSC 428 Digital Communications
- ENSC 429 Digital Signal Processing
- ENSC 452 Advanced Digital System Design
- ENSC 470 Optical and laser Engineering Applications
- ENSC 472 Rehabilitation Engineering
- ENSC 474 Digital/Medical Image Processing
- ENSC 476 Biophotonics and Microscopy Techniques
- ENSC 481 Designing for Reliability
- ENSC 483 Modern Control Systems
- ENSC 488 Introduction to Robotics
- ENSC 489 Computer Aided Design and Manufacturing
- ENSC 495 Introduction to Microelectronic Fabrication
Special topics courses in the 400 division that have been approved by the undergraduate curriculum committee chair and the director can be counted here. With permission of the undergraduate curriculum committee chair, students may replace one engineering science elective with an engineering science directed studies course or a special project laboratory course. Such replacements for an engineering science elective must have four units and be 400 division courses.
Students in the Computer Engineering option may take one Computing upper division course from the following list in place of one of their required Engineering Electives:
- CMPT 305 Computer Simulation and Modelling
- CMPT 307 Data Structures and Algorithms
- CMPT 308 Computability and Complexity
- CMPT 310 Artificial Intelligence Survey
- CMPT 354 Database Systems I
- CMPT 361 Introduction to Computer Graphics
- CMPT 363 User Interface Design
- CMPT 370 Information System Design
- CMPT 373 Software Development Methods
- 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 431 Distributed Systems
- CMPT 441 Computational Biology
- CMPT 454 Database Systems II
- 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 475 Software Engineering II
- CMPT 477 Introduction to Formal Verification