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