Jul 25, 2024  
2023-2024 Graduate Calendar 
2023-2024 Graduate Calendar [ARCHIVED CALENDAR]

Software Engineering, MASc

Return to {$returnto_text} Return to: Programs (by faculty)

General information

Software engineering is considered the newest branch of engineering, and according to the ACM/IEEE-CS Computing Curricula 2020, software engineering focuses on the development and use of rigorous methods for designing and constructing software artifacts that will reliably perform specified tasks.

The Master of Applied Science (MASc) in Software Engineering is a thesis-based Master’s program for students interested in research-oriented studies and may want to continue their education at the PhD level.

The objective the program is to expand students’ knowledge of software engineering through intensive state-of-the-art courses, projects, and/or a research thesis in their chosen area of interest. The program will prepare students for careers in research, development and advanced software engineering systems in a variety of application domains. Graduates of the program will be able to work as software engineers in research and development or other areas in advanced technology companies or government agencies, or continue their education at the PhD level.

Graduates of the MASc in Software Engineering program will be able to:

  • Show mastery of the software engineering knowledge and skills, and professional issues necessary to practice as a software engineer in a variety of application domains.
  • Show mastery of software engineering in at least one speciality or application domain.
  • Work effectively as part of a diversified team, including teams that are international and geographically distributed, to develop quality software artifacts, and to lead in one area of project development, such as project management, software analysis and design, system architecture, implementation, or quality assurance.
  • Reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations.
  • Design appropriate software engineering solutions that address ethical, social, gendered, legal, security, and economic concerns.
  • Be able to analyze current significant software technology, articulate its strengths and weaknesses, compare it to alternative technologies, and specify and promote improvements or extensions to that technology.
  • Be able to learn new models, techniques, and technologies as they emerge, and appreciate the necessity of such continuing professional development.

The learning outcomes are achieved through a set of core and elective courses and other activities as defined in the respective program curriculum, including course work, supervised research, research seminar and research thesis. 

The courses are designed to give students in-depth learning in software engineering, and opportunities for advanced development of skills such as communication, teamwork and leadership, as well as participate in scholarly activities of research, seminars and presentations.

Admission requirements

In addition to the general admission requirements for graduate studies, applicants must meet the following program-specific requirements:

  • Completion of an undergraduate software engineering, computer science, or other engineering degree in a relevant field from an accredited engineering program at a Canadian university, or its equivalent from a recognized institution.
  • Overall academic standing of at least a B (GPA: 3.0 on a 4.3 scale), with a minimum B in the last two full-time years (four semesters) of undergraduate work or equivalent. B+ is preferred for MASc applicants.

Graduates of undergraduate programs in Computer Engineering, Electrical Engineering, Information Engineering, and related programs may meet the admission requirements depending on the courses they have taken. This will be at the discretion of the graduate program director. Prior to being accepted into the MASc program, applicants must find a professor who specializes in their desired area of research and who is willing to act as a supervisor. Close technical contact with a faculty member is an essential part of thesis-based graduate education in software engineering.

The expedited pathway into the Master’s program is intended for current 4th Year Software Engineering students at Ontario Tech University who have an average GPA of 3.3+ over their 2nd & 3rd years. The students may take up to two graduate courses from the Software Engineering program – these would be extra courses that are not counted as part of the undergraduate degree. If a grade of B+ or higher is obtained in these courses, advanced credit will automatically be granted upon registration in the MASc program in Software Engineering. Students who meet the admission requirements as described above would be admitted into the MEng or MASc program following the completion of their undergraduate degree. Students in the MEng program in Software Engineering who wish to transfer to the MASc program in Software Engineering should find a research supervisor and complete the necessary form for the transfer to be approved by the Graduate Program Director and SGPS.

Part-time studies

The MASc programs is intended to be full-time program, but to facilitate accessibility part-time study may be permitted. The typical part-time student is already employed in the software industry and bring a level of practical experience to the program. It is essential that part-time students seek approval from their faculty advisor or the graduate program directory regarding their study plan.

Degree requirements

All MASc students are required to successfully complete five courses (for a total of 15 credits) and a thesis (15 credits). Before defending their thesis, students must present the results of their research in a seminar. The MASc degree requirements are summarized below.

Undergraduate courses and courses outside the program

No courses at the undergraduate level or outside the program are allowed.

Course listing

Graduate courses offered are listed below. Courses related to software engineering are numbered as ENGR 55xxG. Courses related to software and computer systems are numbered as ENGR 57xxG.

The courses are organized as:

  • Core courses: required courses for all students in the MASc and MEng programs
  • Elective categories
    • Software Engineering Electives: specialized courses for Software Engineering
    • Software Systems Electives: courses related to software and computer systems
    • General Electives: related courses that may be of interest
  • Other: courses related to thesis, project or research seminar

Return to {$returnto_text} Return to: Programs (by faculty)