Program overview

The Bachelor of Software Engineering (BSEng) degree program consists of 47 courses (71.5 credits) that are typically completed in four years and eight months. This includes four mandatory co-op work terms that provide 16 months of relevant work experience.





Year 1

Term 1A courses

Term 1B courses

Co-op work term or 1A/1B courses

Year 2

Term 2A courses

Co-op work term or other courses

Term 2B courses

Year 3

Co-op work term or other courses

Term 3A courses

Co-op work term or other courses

Year 4

Term 3B courses

Co-op work term or other courses

Term 4A courses

Year 5

Co-op work term or other courses

Term 4B courses

In the first year, all Engineering students take the same core courses* regardless of which program they pursue. The Engineering core includes courses in mathematics, physics, programming, engineering fundamentals, communication and research skills, and chemistry. This common curriculum for the early part of your Engineering program provides the foundation needed for the rest of your degree and profession.

*Students targeting Software Engineering take an extra programming course in term 1B (CSC 115) and the required chemistry course (CHEM 101) in term 2A. You can read more about the BSEng courses here.

Prior to the second year, students declare their interest in a specific Engineering program (software, civil, electrical, computer, biomedical, mechanical). Please consult the Faculty of Engineering programs section in the University Calendar for further details regarding declaring into a program.

Second year onwards

Starting in the second year, students learn about software engineering through courses in computer science, software engineering, electrical and computer engineering, mathematics, statistics, and economics. In the fourth academic year, students develop deeper knowledge and specializations through technical electives. The program culminates with a significant cross-disciplinary design project based on the knowledge and skills acquired throughout the program. Students will also learn about the legal, social, and professional issues that arise in engineering practice.

In addition to these courses, all Software Engineering students are required to take natural science and complementary studies electives that deal with central issues in the humanities, sciences, and social sciences. Please consult the faculty web site for a list of approved courses.