Software Engineering

MASc

Program overview

The Master of Applied Science in Software Engineering (MASc.SE) is a course-based master’s program intended for students with a computer science or computer engineering background who wish to upgrade their background to specialize in software engineering. The MASc.SE is a four-term, course-based master’s program offered jointly by the Faculty of Engineering and Applied Science and the Faculty of Science. Graduates of the program will have knowledge and understanding of the core areas and methods in software engineering and will be ready to work in positions of software development, computer systems architecture and design, and distributed services. The program distinguishes itself from existing course options in computer science and computer engineering with its increased focus on software engineering and related topics and a decreased emphasis on other areas, such as hardware, digital design and communications. 

Course requirements

The program consists of 21 credit hours of core courses and nine credit hours of elective courses (subject to the chair of the program’s approval), either from the list below or an approved replacement. 

Seven core courses (3 credit hours each)

ENGI 9818 Software Fundamentals
ENGI 9867 Advanced Computing Concepts for Engineering
ENGI 9874 Software Design and Specification
ENGI 9839 Software Verification and Validation
ENGI 9837† Software Engineering Capstone
COMP 6901 Applied Algorithms
COMP 6905 Software Engineering

† Normally ENGI 9837 will be taken in the final term

Three elective courses selected from the following courses or with the program chair’s approval

ENGI 9807 Computer Security or COMP 6916 Security and Privacy
ENGI 9838 Software Engineering Practice
ENGI 9861 High-performance Computer Architecture or COMP 6904 Advanced Computer Architecture
ENGI 9869 Advanced Concurrent Programming or COMP 6903Concurrent Computing
ENGI 9872 Digital Communications
ENGI 9875 Embedded and Real-time Systems Design or COMP 6925 Advanced Operating Systems
ENGI 9876 Advanced Data Networks
ENGI 9877 Cryptography
COMP 6908 Database Technology and Applications
COMP 6910 Services Computing, Semantic Web and Cloud Computing
COMP 6921 Syntax and Semantics of Programming Languages
COMP 6922 Compiling Methods
COMP 6934 Introduction to Data Visualization
AI 6001 Topics in Artificial Intelligence

Admission requirements

To be considered for admission to the Master of Applied Science in Software Engineering (MASc.SE), applicants should have a four-year undergraduate degree (or equivalent) in computer science, computer engineering or a cognate area, from a university of recognized standing.