Bachelor of Science (BSc) in Software Engineering
Download as PDF
Simple Requirements
For other regulations related to the Schulich School of Engineering see 3. Schulich School of Engineering Regulations.
All students, who enter into the Schulich School of Engineering in the Fall of 2025 and onwards, must complete a minimum of 500 hours of practical work experience before graduation. The work experience should normally be a paid opportunity in an engineering or engineering adjacent capacity and may be research focused. The work should contain an appropriate level of responsibility with commensurate pay. Prior to entering into a job placement, every student must complete career readiness modules. Subsequent to a placement, students must complete a Record of Practical Experience form (signed by their supervisor) and complete a placement reflection activity.
Full-time positions may be located anywhere and are normally undertaken during the summer break. Local (located in Calgary and surrounding area) part-time opportunities may be pursued while students are enrolled in courses. The work may be completed at any time during a student’s program, and it should be completed before a student enters their final semester of studies. Work done before entering the faculty may count towards the requirement.
Completion of the Internship Program satisfies the practical experience requirement.
In extenuating circumstances, the Dean (or delegate) may reduce the number of required hours of practical experience. Extenuating circumstances will be considered on a case-by-case basis.
For more information regarding extenuating circumstances, see: G.3.3 Deferral Final Examinations.
*All students in program must complete Software Engineering for Engineers (ENSF) 555.
**Students must pursue a capstone project with applications or methods relevant to the subject matter of their program (and minor, if applicable). The capstone project will require approval to ensure that it has sufficient software engineering content.
A maximum of three Software Engineering for Engineers 519 courses can be selected as technical electives.
A maximum of one of Biomedical Engineering 509 or 515 can be selected as technical electives.
Selection of a course not on this list requires department approval. Elective courses are offered, in any calendar year, at the discretion of the department.
All technical elective courses have similar workloads even though the hours in the timetable are variable. One 500-level or high course from either the Faculty of Science or the Schulich School of Engineering may be approved by the Associate Head or by the Program Director as a technical elective. Optional undergraduate courses and all graduate courses are offered, in any calendar year, at the discretion of the department.
In addition to the required courses for Software Engineering, the following courses must be completed:
Student in minors may only substitute a maximum of 3 units of minor specific technical electives. The substitution will be made at the approval of the department that is responsible for the minor. Students should contact the Engineering Student Centre to apply for the substitution.
The following Software Engineering Required Courses are NOT required for this program:
9 units of the 12 required units of Software Engineering Technical Electives
In addition to the required courses for Software Engineering, the following courses must be completed:
Student in minors may only substitute a maximum of 3 units of minor specific technical electives. The substitution will be made at the approval of the department that is responsible for the minor. Students should contact the Engineering Student Centre to apply for the substitution.
The following Software Engineering Required Courses are NOT required for this program:
9 units of the 12 required units of Software Engineering Technical Electives
3 units of the 6 required units of General Complementary Studies
Software Engineering for Engineers 555
In addition to the required courses for Software Engineering, the following courses must be completed:
*Courses may be taken as technical electives in the Mechatronics Minor if not used to meet other degree requirements.
Further Technical Elective notes:
1. Selection of a course not on this list requires department approval. Elective courses are offered, in any calendar year, at the discretion of the department.
2. All technical elective courses have similar workloads even though the hours in the timetable are variable. One 500-level or high course from either the Faculty of Science or the Schulich School of Engineering may be approved by the Associate Head or by the Program Director as a technical elective. Optional undergraduate courses and all graduate courses are offered, in any calendar year, at the discretion of the department.
The following Software Engineering Required Courses are NOT required for this program:
9 units of the 12 required units of Software Engineering Technical Electives
In addition to the required courses for Software Engineering, students must complete courses for the Bachelor of Commerce. Refer to the Haskayne School of Business and the Bachelor of Commerce for more information.
†The courses listed above are required for the Bachelor of Commerce and are used to substitute for some of the Complementary Studies (listed above) in the Software Engineering, Regular Program.
The following Software Engineering Required Courses are NOT required for this program:
Engineering 209 (Economics 209)
Engineering 213 or Communication Studies 363
6 of the 6 units of General Complementary Studies
6 units of the 12 required units of Software Engineering Technical Electives
To complete optional enhancement(s) to this degree program, refer to: