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.
A. Software Engineering Program
Second Year Program
Applied Mathematics 2415,
ECE 2238A/B,
ECE 2239A/B,
ES 2211F/G,
SE 2203A/B,
SE 2205A/B,
SE 2250A/B,
SE 2251A/B,
Computer Science 1037A/B,
Statistical Sciences 2141A/B, 0.5 science course*.
* The 0.5 science course must be chosen from a course in the Faculty of Science at the 1020-level or higher from the approved list on the engineering website or the approval of the departmental counselor.
Third Year Program
ECE 3339A/B,
ECE 3375A/B,
SE 3309A/B,
SE 3310A/B,
SE 3312A/B,
SE 3313A/B,
SE 3314A/B,
SE 3350Y,
SE 3351A/B,
SE 3352A/B,
SE 3353A/B.
Fourth Year Program
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
ECE 4460A/B,
ECE 4470A/B,
ECE 4489A/B, the former 481a/b,
SE 4411A/B,
SE 4455A/B,
SE 4456A/B,
SE 4466A/B,
SE 4470A/B,
SE 4471A/B,
SE 4472A/B,
Computer Science 3346A/B,
Computer Science 3388A/B,
Computer Science 4442A/B,
Computer Science 4488A/B.
Some technical electives may not be offered in a given academic year.