This page outlines the courses you must take as part of the BSEng curriculum, organized according to our recommended schedule1. 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 schedule1 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 friendly 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.

**Important Note: Courses in Electrical and Computer Engineering (ELEC XXX and CENG XXX) are being merged under a new name (ECE XXX) effective May 2018. Please consult the ECE Department website for a list of the new course numbers.**

Term 1A - Fall
Term 1B - Spring

CSC 111 - Fundamentals of Programming with Engineering Applications

CSC 115 - Fundamentals of Programming II
ENGR 110 - Design and Communication I ENGR 120 - Design and Communication II
ENGR 130 - Introduction to Professional Practice ENGR 141 - Engineering Mechanics
MATH 100 - Calculus I OR
MATH 109 - Introduction to Calculus
MATH 101 - Calculus II
MATH 110 - Matrix Algebra for Engineers PHYS 111 - Introductory Physics II
PHYS 110 - Introductory Physics I
Term 2A - Fall
Term 2B - Summer

ECE 255 (was CENG 255) - Introduction to Computer Architecture2 OR
CSC 230 - Introduction to Computer Architecture2

CSC 225 - Algorithms and Data Structures I

CHEM 101 - Properties of Materials

ECON 180 - Introduction to Principles of Microeconomics and Financial Project Evaluation

ECE 260 (was ELEC 260) - Continuous-Time Signals and Systems ECE 310 (was ELEC 310) - Digital Signal Processing I
MATH 122 - Logic and Foundations SENG 275 - Software Testing
SENG 265 - Software Development Methods SENG 310 - Human Computer Interaction
STAT 260 - Introduction to Probability and Statistics I Complementary Studies Elective
Term 3A - Spring
Term 3B - Fall
ECE 458 (was CENG 460) - Communication Networks2 OR
CSC 361 - Computer Communications and Networks2
ECE 355 (was CENG 355) - Microprocessor-Based Systems2 OR
CSC 355 - Digital Logic and Computer Organization2
CSC 226 - Algorithms and Data Structures II CSC 320 - Foundations of Computer Science
ECE 360 (was ELEC 360) - Control Theory and Systems I CSC 360 - Operating Systems
SENG 321 - Requirements Engineering CSC 370 - Database Systems
SENG 371 - Software Evolution SENG 350 - Software Architecture and Design
Natural Science Elective SENG 360 - Security Engineering
Term 4A - Summer
Term 4B - Spring
SENG 426 - Software Quality Engineering ECE 455 (was CENG 455) - Real-Time Computer Systems Design Project2 OR
CSC 460 - Design and Analysis of Real-time Systems2
SENG 440 - Embedded Systems SENG 401 - Social and Professional Issues
SENG 499 - Design Project II Technical Elective
Technical Elective Technical Elective
Technical Elective Technical Elective
Complementary Studies Elective Natural Science Elective

1. Deviation from the standard program schedule requires submission of a Program Planning Worksheet and approval by the BSEng Program before commencement of term. See your program advisor for more information.

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

Disclaimer: 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.