UVic's Software Engineering Program has been designed to give you a thorough understanding of the creation, evolution, and maintenance of complex software systems. It ensures that you obtain a solid foundation in basic science, mathematics and statistics, engineering principles, and computer science and electrical/computer engineering theory so that you have the background needed to understand computing fundamentals, solve technical problems, and to model and reason about software behaviour.

The BSEng curriculum is accredited by the CEAB and includes 47 courses (71.5 credits) and 16 months of mandatory co-op work experience. The courses are designed to be taken over 8 terms and include 38 core courses as well as 9 elective courses.

You will learn how to design and maintain secure and reliable systems, and you will become proficient in project management, development processes, design, analysis, technical documentation and communications, and testing and verification. You will also learn about the legal, social, and professional issues that arise in engineering practice.

The BSEng program requires students to complete a variety of technical, natural science, and complementary studies electives.

Natural science electives

BSEng students must take two natural science electives. You can download a current list of acceptable courses here or obtain a copy from the Engineering Undergraduate Office. If you would like to take a course that's not on the list of acceptable natural science electives, please fill out the natural science request form and email it to the BSEng advisor.

Natural science electives must meet criteria specified by the CEAB: The basic (natural) science component of the curriculum must include elements of physics and chemistry; elements of life sciences and earth sciences may also be included in this category. These subjects are intended to impart an understanding of natural phenomena and relationships through the use of analytical and/or experimental techniques.

Complementary studies electives

BSEng students must take two complementary studies electives to satisfy the requirements of the BSEng program. If you wish to use a course not on this list, you must obtain written approval through the Engineering Undergraduate Office. You can download a current list of acceptable courses here or obtain a copy from the Engineering Undergraduate Office. If you would like to take a course that's not on the list of acceptable complementary studies electives, please fill out the complementary studies request form and email it to the BSEng advisor.

Technical electives

BSEng students must take five technical electives normally chosen from the set of 400-level courses offered within the Faculty of Engineering. The BSEng program also offers a large number of technical electives: consult the UVic Calendar for courses and schedules. Not all electives are offered every year.

Students who transfer from other programs or post-secondary institutions must choose their electives in consultation with the Engineering Undergraduate Office as their choice of electives requires pre-approval. Students who complete three courses (4.5 units) in one of the specialization areas can optionally request a letter from the Engineering Undergraduate Office confirming this (the specialization area will not be shown on the transcript).

CAPP reports

Your CAPP report shows how your completed, in-progress and registered courses will be applied towards your program requirements, as well as the general university requirements.

If you take special topics courses as electives and these show as unapproved, speak with the BSEng advisor.

Get help

Do not hesitate to contact the BSEng advisor for help selecting and scheduling your elective courses!


Not all elective courses are offered every year, and some electives may require additional prerequisites.  Please consult the UVic Calendar for the current course schedule and prerequisites.

UVic's BSEng degree is a project-intensive program where students learn by applying concepts to relevant engineering problems through case studies, exercises, and group projects. The program culminates in a significant software engineering capstone project (SENG 499).

Students can also choose to complete an honours thesis project (SENG 498) in place of two technical electives or SENG 499 and one technical elective. Speak with the BSEng advisor for more information.

To graduate with a BSEng degree, you are required to complete a minimum of four terms of co-operative education work experience: these are known as courses ENGR 001, ENGR 002, ENGR 003, and ENGR 004. Each work term has prerequisites to make sure you have the appropriate skills for the level, so please consult the calendar and know which prerequisites you need before applying for a co-op term.

Work terms are normally four months in duration and alternate with academic terms. Upon approval, work terms can be combined to 8-, 12-, or 16-month periods of employment. Before committing to a longer co-op term, contact the BSEng advisor to review your planned academic schedule.

Students are expected to finish the BSEng program on an academic term.

The University of Victoria's Software Engineering Program is an interdisciplinary program taught by faculty in the Departments of Computer Science and Electrical and Computer Engineering in the Faculty of Engineering and Computer Science. Graduates of the program receive a Bachelor of Software Engineering (BSEng) degree and can work toward becoming a licensed Professional Engineer (P.Eng.).

The BSEng program does not have any minors or majors. A Software Development minor is open to students outside of the Bachelor of Software Engineering Program and the Department of Computer Science.

Students taking a Bachelor of Science (BSc) degree in Computer Science can specialize with a Software Systems option. Please consult the Department of Computer Science website for more information about their degree programs.

Maximum time for degree completion

Students not completing their programs within the specified time limits must have their program extension approved by the Dean. The starting month in determining the length of a student’s program is the first month in which courses are taken in the BEng or BSEng programs at UVic.

Year of Entry into the BEng or BSEng Program 1 2
Normal time to complete (months, including work terms) 56 44 28-36
Maximum time to complete (months, including work terms) 80 68 48


The BSEng program is accredited by the Canadian Engineering Accreditation Board (CEAB). As an ongoing process, accreditation helps ensure that UVic's BSEng curriculum meets the guidelines of the Association of Professional Engineers and Geoscientists of British Columbia, and that the program remains up to date and effective.

Graduation from a nationally accredited program is the first step towards becoming a Professional Engineer (P.Eng.).


Please review the University Academic Regulations in the UVic Calendar.

Please review the BSEng Academic Regulations in the UVic Calendar.