The department offers three graduate degrees in Software Engineering: Ph.D, Master of Art and Science, and Master of Engineering. Graduate students in the Ph.D and M.A.Sc. programs are focused on advancing knowledge of software lifecycle from design, implementation, and testing to documentation and maintaining, through intensive research in their chosen area of interest.
Have questions about the program?
Ph.D Software – Program Structure
Students must successfully complete the following requirements:
- Equivalent of 4 one-term (half course) graduate courses in Computer Science, Software Engineering, or relevant areas of Engineering or Mathematics. At most two courses can be from outside the department, all must be at the 700-level. More than two courses outside the department requires approval of the department. Students may be required to take more courses as judged by the supervisory committee.
- Pass a two-part Comprehensive Examination. Part I tests breadth of knowledge (Part I Syllabus) and Part II is a defense of a thesis proposal.
- Prepare and successfully defend a thesis.
Degree regulations for Ph.D Software Engineering (From Sept 2019)
Ph.D Software – Areas of Research
- Combinatorial computing and optimization
- Complexity, design and analysis of algorithms
- Computer vision
- Computational geometry
- Control systems
- Discrete event systems, discrete geometry
- Formal methods
- Mathematical programming
- Mechanized mathematics
- Medical imaging
- Optimization: Theory, algorithms and complexity
- Parallel and distributed computing
- Real-time and embedded systems
- Requirement activities
- Scientific computation
- Software engineering
- String algorithms
- Theory of non-sequential systems
Ph.D Software – Admission Requirements
Outstanding students with a Master’s degree in a field other than Software Engineering will be counselled about the breadth and depth of the comprehensive examination before proceeding with the application. Each student’s background will be assessed and his/her program of study designed to ensure appropriate depth and breadth in Software Engineering.
Students holding a Bachelor’s degree should enrol at the Master’s level. Excellent students may be transferred to the Ph.D. program prior to completing their Master’s thesis.
Graduate Studies – Resources
For more information about this program, please go to our applicant page.
You can also reach this page by going to our homepage and then click on Resources, the Graduate Students tab and finally the Applicants link.
Graduate Studies – Request More Information
Thank you for your interest in McMaster University Faculty of Engineering. Please fill out the form below, and we will connect with you to answer all of your questions.