Software Engineering is the newest branch of Engineering. The Software Engineering curriculum deals with the components of the software process and the technical skills necessary to apply that process in a systematic, disciplined and quantifiable manner. Students also acquire the management skills needed to lead a team that can engineer software and meet appropriate quality standards within specified cost and time schedules. In addition to a number of specialized topics in software engineering, the program also includes courses on fundamental topics in Electrical and Computer Engineering and Computer Science.
Please note: Because of the extensive overlap in the two fields, students in the BESc program in Software Engineering will not be allowed to take concurrent degrees in Computer Science in the Faculty of Science.
Students entering the Software Engineering program must have completed the entire first-year program in Engineering, with no outstanding credits to be taken, and have a year-weighted average (YWA) of at least 60%. First consideration will be given to applicants with a minimum grade of 60% in each of the following courses: Numerical and Mathematical Methods 1411A/B, Numerical and Mathematical Methods 1412A/B, Numerical and Mathematical Methods 1414A/B, and Engineering Science 1036A/B.
Engineering Common First Year Program
Full-year courses: Engineering Science 1050, Business Administration 1299E.
Full-year half course: Engineering Science 1022A/B/Y.
Half-year courses: Numerical and Mathematical Methods 1411A/B, Numerical and Mathematical Methods 1412A/B, Numerical and Mathematical Methods 1414A/B, Chemistry 1302A/B, Engineering Science 1021A/B, Engineering Science 1036A/B, Physics 1401A/B and Physics 1402A/B.
(Three of the half courses are taken in each term as scheduled)
Second Year Program
Numerical and Mathematical Methods 2270A/B, Numerical and Mathematical Methods 2276A/B, ECE 2277A/B, ECE 2238A/B, SE 2202A/B, SE 2203A/B, SE 2205A/B, SE 2250A/B, Mathematics 2151A/B, Statistical Sciences 2141A/B, Writing 2130F/G, one 0.5 non-technical elective from the approved list.
Third Year Program
ECE 3375A/B, ECE 4436A/B, SE 3309A/B, SE 3310A/B, SE 3313A/B, SE 3314A/B, SE 3316A/B, SE 3350A/B, SE 3351A/B, SE 3352A/B, SE 3353A/B.
Fourth Year Program
SE 4450, SE 4452A/B, SE 4455A/B, SE 4472A/B, ELI 4110F/G or the former ES 4498F/G, four 0.5 technical electives from the list below, 1.0 non-technical elective*.
Students who entered before September 2016 are required to take Business Administration 2299E.
*Selection of the non-technical elective must be approved by the Department Counsellor to satisfy the CEAB requirements of subject matter that deals with central issues, methodologies, and thought processes of the humanities and social sciences. An approved list can be found on the Engineering website.
Technical Electives: Software Engineering
Data Science 3000A/B, Electrical and Computer Engineering 3389A/B, Electrical and Computer Engineering 3390A/B, Electrical and Computer Engineering 4460A/B, Software Engineering 4470A/B, Software Engineering 4471A/B, Computer Science 3342A/B, Computer Science 3346A/B, Computer Science 3388A/B, Computer Science 4442A/B, Computer Science 4482A/B, Computer Science 4483A/B.
Some technical electives may not be offered in a given academic year.