Skip to main content
Degree Options:

Doctor of Philosophy in Engineering (Ph.D.)

Software Engineering

Graduate students in the Ph.D thesis based program 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.

Current Student Inquiries:

Email:
Phone:
+1 905.525.9140 x 27863
Office:
ITB 202
Future Student Information

Overview

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. 

Program Structure

Students must successfully complete the following requirements:

  1. 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.
  2. 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.
  3. Prepare and successfully defend a thesis.

Degree regulations for Ph.D Software Engineering (BEFORE Sept 2018)

 Degree regulations for Ph.D Software Engineering (From  Sept 2018)

Degree regulations for Ph.D Software Engineering (From Sept 2019)

Learn more

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
  • Robotics
  • Requirement activities
  • Scientific computation
  • Software engineering
  • String algorithms
  • Theory of non-sequential systems

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.