Computer Engineering Program

Computer engineers can change the world. Whether it is the systems that control our phones, cars, planes or robots—every automated device has a software or hardware engineer helping to create it. As a student in UBC’s Computer Engineering program, you will learn how to develop, design and test software, computer networks, and protocols.

Should I choose Computer Engineering or Computer Science?

Computer Science studies the theoretical foundations of information and computation while inventing algorithmic processes that create, describe and transform information. Computer Engineering integrates both electrical engineering and computer science in the development of computer systems. Computer Engineers are involved in many hardware and software aspects of computing including design of microcontrollers, computers and circuit design, and they focus not just on how computers work but how to integrate them into larger systems.

The Computer Engineering Program begins in second year of undergraduate studies after completing the required first year engineering courses. Students will graduate with a Bachelor of Applied Science in Computer Engineering.

Students in the Computer Engineering Program may choose to focus on computer hardware design or in software intensive computer systems, including requirements eliciation, software design, software quality, user-interface, and software project management.

The following curriculum is required for students starting their program in Computer Engineering for September 2021.

Second Year
CPEN 211 (5)
CPEN 212 (4)
CPEN 221 (4)
CPEN 281 (3)
CPEN 291 (6)
CPSC 221 (4)
ELEC 201 (4)
MATH 220 (3)
MATH 253 (3)
MATH 256 (3)
Total Credits = 39

Third Year
CPEN 331 (4)
CPEN 391 (6)
CPSC 320 (3)
One of MATH 318, STAT 251, MATH 302, STAT 302 (3)
Electives (16) - To be chosen based on Department-approved list of Computer Engineering electives
Complementary Studies Electives (6) - See Complementary Studies courses
Total Credits = 38

Fourth Year
APSC 450 (2)
CPEN 481 (3)
CPEN 491 (10)
Electives (20) - To be chosen based on Department-approved list of Computer Engineering electives.
Science Elective (3)
Total Credits = 38

For official course descriptions for each of the courses listed above, please visit the UBC Course Schedule:

For students who began their program in previous years, please see the following course checklists:

2019 CPEN Checklist
2020 CPEN Checklist

A printable PDF version of the electives are available here.

Students that wish to switch from the Computer Engineering Program to the Electrical Engineering Program must complete the online application form, available mid-February.