This page outlines the courses you must take as part of the BSEng curriculum, organized according to our recommended schedule. There are also additional schedules for your first year of engineering.

While there is some flexibility in how you organize your terms at UVic, following this schedule helps you stay on track with the BSEng degree requirements—certain required (core) courses are only offered one time per year, and there are many prerequisites/co-requisites that determine the order courses can be taken, which our recommendations take into account. For help organizing your course schedule, contact one of our program advisors in the Engineering Undergraduate Office.

Consult the UVic Calendar for the official list of BSEng program requirements, other approved course substitutions, and to verify course schedules. Information about complementary studies electives, natural science electives, and technical electives can be found on the Curriculum page.

Note: ECE458 Communication Networks was renumberedECE 363 in May 2023. The course content remains the same and it will continue to be offered in term 3A (spring).

Term 1A - Fall
Term 1B - Spring

CSC111 - Fundamentals of Programming with Engineering Applications

CSC115 - Fundamentals of Programming II
ENGR110 - Design and Communication I ENGR120 - Design and Communication II
ENGR130 - Introduction to Professional Practice ENGR141 - Engineering Mechanics
MATH100 - Calculus I OR
MATH109 - Introduction to Calculus
MATH101 - Calculus II
MATH110 - Matrix Algebra for Engineers PHYS111 - Introductory Physics II
PHYS110 - Introductory Physics I
Term 2A - Fall
Term 2B - Summer

ECE255 - Introduction to Computer Architecture 1 OR
CSC230 - Introduction to Computer Architecture 1

CSC225 - Algorithms and Data Structures I

CHEM101 - Properties of Materials

ECON180 - Introduction to Principles of Microeconomics and Financial Project Evaluation

ECE260 - Continuous-Time Signals and Systems ECE310 - Digital Signal Processing I
MATH122 - Logic and Foundations SENG275 - Software Testing
SENG265 - Software Development Methods SENG310 - Human Computer Interaction
STAT260 - Introduction to Probability and Statistics I Complementary Studies Elective
Term 3A - Spring
Term 3B - Fall
ECE363 - Communication Networks 1 OR
CSC361 - Computer Communications and Networks 1
ECE355 - Microprocessor-Based Systems 1 OR
CSC355 - Digital Logic and Computer Organization 1
CSC226 - Algorithms and Data Structures II CSC320 - Foundations of Computer Science
ECE360 - Control Theory and Systems I CSC360 - Operating Systems
SENG321 - Requirements Engineering CSC370 - Database Systems
SENG371 - Software Evolution SENG350 - Software Architecture and Design
Natural Science Elective SENG360 - Security Engineering
Term 4A - Summer
Term 4B - Spring
SENG426 - Software Quality Engineering ECE455 - Real-Time Computer Systems Design Project 1 OR
CSC460 - Design and Analysis of Real-time Systems 1
SENG440 - Embedded Systems SENG401 - Social and Professional Issues
SENG499 - Design Project II Technical Elective
Technical Elective Technical Elective
Technical Elective Technical Elective
Complementary Studies Elective Natural Science Elective

1. When both courses are offered in the same term, only one of them may be open to BSEng students.


You are responsible for ensuring that all degree requirements have been satisfied as outlined in the University of Victoria Calendar. Any errors or omissions on this site do not absolve you from having to complete all of the program requirements.