8.7 Software Engineering
The Degree of Master of Applied Science (M.A.Sc.) in Software Engineering is a four-term, course-based Master’s program jointly offered by the Faculty of Science, Department of Computer Science and the Faculty of Engineering and Applied Science, Department of Electrical and Computer Engineering.
8.7.1 Qualifications for Admission
-
Admission is limited and competitive, and based on overall academic performance.
-
To be considered for admission, applicants shall normally hold a minimum second-class 4-year Bachelor’s Degree in computer science, computer engineering or in a related discipline from a university of recognized standing.
-
To be eligible for consideration for admission applicants will meet the English Proficiency Requirements outlined under General Regulations, Qualifications for Admission, English Proficiency Requirements for the School of Graduate Studies.
-
Admission to the program shall be upon acceptance by the Dean of Graduate Studies after recommendation by the Chair of the Program or either Head of the Departments of Computer Science or Electrical and Computer Engineering, along with a tentative program of study.
8.7.2 Degree Requirements
The degree program requires the completion of 30 credit hours:
-
3 credit hours of a Capstone project course ENGI 9837 which is normally taken in the final term.
-
18 credit hours by completing COMP 6901, COMP 6905, ENGI 9818, ENGI 9867, ENGI 9874, and ENGI 9839.
-
9 credit hours to be selected from AI 6001, COMP 6904, 6908, 6910, 6916, 6921, 6922, 6925, 6934, ENGI 9807, 9838, 9869, 9876, and 9877.
8.7.3 Evaluation
Students must obtain a grade of at least 65% in all program courses to receive credit for the course towards their program requirements. Any student who fails to receive 65% or more in a course must repeat the course in the case of core courses, or must either repeat or replace the course with another program course in the case of elective courses. Any student who receives a grade of less than 65% in two courses or in a repeated course will be required to withdraw from the program.
8.7.4.1 Core Courses
- COMP 6901 Applied Algorithms
- COMP 6905 Software Engineering
- ENGI 9818 Software Fundamentals
- ENGI 9837 Software Engineering Capstone
- ENGI 9839 Software Verification and Validation
- ENGI 9867 Advanced Computing Concepts for Engineering
- ENGI 9874 Software Design and Specification
8.7.4.2 Elective Courses
- AI 6001 Topics in Artificial Intelligence
- COMP 6903 Concurrent Computing (credit restricted with ENGI 9869)
- COMP 6904 Advanced Computer Architecture (credit restricted with ENGI 9861)
- COMP 6908 Database Technology and Applications
- COMP 6910 Services Computing, Semantic Web and Cloud Computing
- COMP 6916 Security and Privacy or ENGI 9807 Computer Security
- COMP 6921 Syntax and Semantics of Programming Languages
- COMP 6922 Compiling Methods
- COMP 6925 Advanced Operating Systems (credit restricted with ENGI 9875)
- COMP 6934 Introduction to Data Visualization
- ENGI 9838 Software Engineering Practice
- ENGI 9861 High-Performance Computer Architecture (credit restricted with COMP 6904)
- ENGI 9869 Advanced Concurrent Programming (credit restricted with COMP 6903)
- ENGI 9872 Digital Communications
- ENGI 9875 Embedded and Real-Time Systems Design (credit restricted with COMP 6925)
- ENGI 9876 Advanced Data Networks
- ENGI 9877 Cryptography