The program information below was valid for the winter 2021 term (January 1, 2021 - April 30, 2021). This is the archived version; the most up-to-date program information is available through the current Graduate Studies Academic Calendar.

The Graduate Studies Academic Calendar is updated 3 times per year, at the start of each academic term (January 1, May 1, September 1). Graduate Studies Academic Calendars from previous terms can be found in the archives.

Students are responsible for reviewing the general information and regulations section of the Graduate Studies Academic Calendar.

Graduate research fields

  • Algorithms and Complexity
  • Artificial Intelligence
  • Bioinformatics
  • Computer Algebra and Symbolic Computation
  • Computer Graphics
  • Cryptography, Security and Privacy
  • Databases
  • Formal Methods
  • Health Informatics
  • Human-Computer Interaction
  • Information Retrieval
  • Machine Learning
  • Programming Languages
  • Quantum Computing
  • Scientific Computing
  • Software Engineering
  • Systems and Networking
  • Admit term(s) 
    • Fall
    • Winter
    • Spring
  • Delivery mode 
    • On-campus
  • Program type 
    • Co-operative
    • Master's
    • Research
  • Registration option(s) 
    • Full-time
    • Part-time
  • Study option(s) 
  • Minimum requirements 
    • An Honours Bachelor degree in Computer Science or Engineering (or equivalent degree) with at least a 78% standing.
    • The Graduate Record Examination (GRE) General test is required of all applicants to the School of Computer Science, who have not completed a 4 year undergraduate degree at a North American University where English is the primary language of instruction.
  • Application materials 
    • Résumé
    • Supplementary information form
    • Transcript(s)
  • References 
    • Number of references:  3
    • Type of references: 

      at least 2 academic

  • English language proficiency (ELP) (if applicable)

    Thesis option:

  • Graduate Academic Integrity Module (Graduate AIM)
  • Courses 
    • Students must complete 4 one-term (0.50 unit weight) graduate courses:
      • At least 1 course must be at the 800 level
      • At most 1 course can be at the 600 level.
      • No more than 2 courses can be taken for degree credit in one area.
    • Normally, courses need to be selected from the Categories and Areas table but exceptions can be granted by the School of Computer Science.

    Category

    Area

    Computer Science (CS) Courses

    Computing Technology

    Software Engineering

    CS 645, CS 646, CS 647, CS 745, CS 746, CS 846

    Programming Languages

    CS 642, CS 644, CS 744, CS 747, CS 842

    Hardware and Software Systems

    CS 650, CS 651, CS 652, CS 654, CS 655, CS 656, CS 657, CS 658, CS 755, CS 758, CS 854, CS 856, CS 858**,CS 869

    Mathematics of Computing

    Algorithms and Complexity

    CS 662, CS 664, CS 666, CS 758, CS 761, CS 762, CS 763, CS 764, CS 765, CS 767, CS 840, CS 858**, CS 860

    Scientific and Symbolic Computing

    CS 670, CS 672, CS 675, CS 676, CS 679, CS 687, CS 770, CS 774, CS 775, CS 778, CS 779, CS 780, CS 870, CS 887

    Computational Statistics CS 680, CS 685, CS 786, CS 885

    Quantum Information and Computation

    CS 766, CS 768, CS 867

    Applications

    Artificial Intelligence

    CS 679, CS 684, CS 686, CS 784, CS 785, CS 787, CS 886

    Databases

    CS 640, CS 648, CS 740, CS 741, CS 742, CS 743, CS 848, CS 856*

    Graphics and User Interfaces

    CS 649, CS 688, CS 781, CS 783, CS 788, CS 789, CS 791, CS 888, CS 889

    Bioinformatics

    CS 682, CS 782, CS 882

    Health Informatics

    CS 792

    • Note: * The versions of CS 856 entitled "Internet-Scale Distributed Data Management" and "Web Data Management" can be used as a Databases course.
    • Note: ** CS 858 can be used as a Hardware and Software Systems course or as an Algorithms and Complexity course, depending on the course offering.
  • Link(s) to courses
  • Graduate Studies Work Report
    • Co-op requirements: in Computer Science, a master's program may be undertaken on a co-operative basis enabling a student to combine graduate studies with some work experience. The program involves an initial study period, a work period and a final study period. It is fairly flexible in length, each period comprising one or more terms. The usual pattern of study and work consists of two academic terms in which the courses are completed, a two-term work placement, and two or three terms in which the thesis is completed. Students may apply for the co-op option during their second or third term in the Master's program.
    • The work placement must be related to the student's research topic, or relevant to their coursework, and requires the approval of the Director of Graduate Studies and the student's research supervisor.
    • The student will be required to do a two-term work placement at a suitable industrial location, to begin as soon as possible after the coursework or 50% of the degree requirements have been completed. The student will also be expected to return to campus after the work placement in order to complete the final thesis. The student will need to supply a work term report when they return to campus.
  • Master’s Thesis
    • Students must present their research topic in a publicly announced seminar.
  • Other requirements 
    • Fast-track admission to the PhD in Computer Science: the School of Computer Science offers excellent students an opportunity to transfer from the MMath program to the Doctor of Philosophy (PhD) program. This transfer enables the student to begin doctoral research, bypassing the MMath thesis. To apply for this transfer, a student submits a letter of application to the Associate Director of Graduate Studies, any time after the completion of the second term of registration in the MMath program or earlier in exceptional circumstances. The application must be strongly supported by the student's proposed PhD supervisor. A successful applicant would normally be in the thesis option and have an excellent academic record. Evidence must be available that the student has begun a viable research program. If accepted for transfer to the PhD program, the student is expected to meet the requirements for a PhD student entering directly from a Bachelor's degree.
  • Master's Research Paper option:

    Note: it is not possible to be admitted directly to the Master’s Research Paper option but students may be able to transfer to it from the other two options.

  • Graduate Academic Integrity Module (Graduate AIM)
  • Courses 
    • Students must complete 7 one-term (0.50 unit weight) courses:
      • At least 2 of the courses must be at the 800 level.
      • At most 3 of the courses can be at the 600 level.
      • No more than 3 courses can be taken for degree credit in one area.
    • Normally, courses need to be selected from the Categories and Areas table but exceptions can be granted by the School of Computer Science.

    Category

    Area

    Computer Science (CS) Courses

    Computing Technology

    Software Engineering

    CS 645, CS 646, CS 647, CS 745, CS 746, CS 846

    Programming Languages

    CS 642, CS 644, CS 744, CS 747, CS 842

    Hardware and Software Systems

    CS 650, CS 651, CS 652, CS 654, CS 655, CS 656, CS 657, CS 658, CS 755, CS 758, CS 854, CS 856, CS 858**,CS 869

    Mathematics of Computing

    Algorithms and Complexity

    CS 662, CS 664, CS 666, CS 758, CS 761, CS 762, CS 763, CS 764, CS 765, CS 767, CS 840, CS 858**, CS 860

    Scientific and Symbolic Computing

    CS 670, CS 672, CS 675, CS 676, CS 679, CS 687, CS 770, CS 774, CS 775, CS 778, CS 779, CS 780, CS 870, CS 887

    Computational Statistics CS 680, CS 685, CS 786, CS 885

    Quantum Information and Computation

    CS 766, CS 768, CS 867

    Applications

    Artificial Intelligence

    CS 679, CS 684, CS 686, CS 784, CS 785, CS 787, CS 886

    Databases

    CS 640, CS 648, CS 740, CS 741, CS 742, CS 743, CS 848, CS 856*

    Graphics and User Interfaces

    CS 649, CS 688, CS 781, CS 783, CS 788, CS 789, CS 791, CS 888, CS 889

    Bioinformatics

    CS 682, CS 782, CS 882

    Health Informatics

    CS 792

    • Note: * The versions of CS 856 entitled "Internet-Scale Distributed Data Management" and "Web Data Management" can be used as a Databases course.
    • Note: ** CS 858 can be used as a Hardware and Software Systems course or as an Algorithms and Complexity course, depending on the course offering.
  • Link(s) to courses
  • Graduate Studies Work Report
    • Co-op requirements: in Computer Science, a master's program may be undertaken on a co-operative basis enabling a student to combine graduate studies with some work experience. The program involves an initial study period, a work period and a final study period. It is fairly flexible in length, each period comprising one or more terms. The usual pattern of study and work consists of two academic terms in which the courses are completed, a two-term work placement, and a final academic term in which the research paper, or coursework is completed. Students may apply for the co-op option during their second or third term in the Master's program.
    • The work placement must be related to the student's research topic, or relevant to their coursework, and requires the approval of the Director of Graduate Studies and the student's research supervisor or course advisor.
    • The student will be required to do a two-term work placement at a suitable industrial location, to begin as soon as possible after the coursework or 50% of the degree requirements have been completed. The student will also be expected to return to campus after the work placement in order to complete the research paper or remaining coursework. The student will need to supply a work term report when they return to campus.
  • Master’s Research Paper
    • Students must present their research paper topic in a publicly announced seminar.

    Coursework option:

  • Graduate Academic Integrity Module (Graduate AIM)
  • Courses 
    • Students must complete 8 one-term (0.50 unit weight) graduate courses:
      • At least 2 courses must be at the 800 level
      • At most 3 courses can be at the 600 level.
      • No more than 4 courses can be taken for degree credit in one area.
    • Normally, courses need to be selected from the Categories and Areas table but exceptions can be granted by the School of Computer Science.

    Category

    Area

    Computer Science (CS) Courses

    Computing Technology

    Software Engineering

    CS 645, CS 646, CS 647, CS 745, CS 746, CS 846

    Programming Languages

    CS 642, CS 644, CS 744, CS 747, CS 842

    Hardware and Software Systems

    CS 650, CS 651, CS 652, CS 654, CS 655, CS 656, CS 657, CS 658, CS 755, CS 758, CS 854, CS 856, CS 858**,CS 869

    Mathematics of Computing

    Algorithms and Complexity

    CS 662, CS 664, CS 666, CS 758, CS 761, CS 762, CS 763, CS 764, CS 765, CS 767, CS 840, CS 858**, CS 860

    Scientific and Symbolic Computing

    CS 670, CS 672, CS 675, CS 676, CS 679, CS 687, CS 770, CS 774, CS 775, CS 778, CS 779, CS 780, CS 870, CS 887

    Computational Statistics CS 680, CS 685, CS 786, CS 885

    Quantum Information and Computation

    CS 766, CS 768, CS 867

    Applications

    Artificial Intelligence

    CS 679, CS 684, CS 686, CS 784, CS 785, CS 787, CS 886

    Databases

    CS 640, CS 648, CS 740, CS 741, CS 742, CS 743, CS 848, CS 856*

    Graphics and User Interfaces

    CS 649, CS 688, CS 781, CS 783, CS 788, CS 789, CS 791, CS 888, CS 889

    Bioinformatics

    CS 682, CS 782, CS 882

    Health Informatics

    CS 792

    • Note: * The versions of CS 856 entitled "Internet-Scale Distributed Data Management" and "Web Data Management" can be used as a Databases course.
    • Note: ** CS 858 can be used as a Hardware and Software Systems course or as an Algorithms and Complexity course, depending on the course offering.
  • Link(s) to courses
  • Graduate Studies Work Report
    • Co-op requirements: in Computer Science, a master's program may be undertaken on a co-operative basis enabling a student to combine graduate studies with some work experience. The program involves an initial study period, a work period and a final study period. It is fairly flexible in length, each period comprising one or more terms. The usual pattern of study and work consists of two academic terms in which the courses are completed, a two-term work placement, and a final academic term in which the coursework is completed. Students may apply for the co-op option during their second or third term in the Master's program.
    • The work placement must be relevant to their coursework, and requires the approval of the Director of Graduate Studies and the student's course advisor.
    • The student will be required to do a two-term work placement at a suitable industrial location, to begin as soon as possible after the coursework or 50% of the degree requirements have been completed. The student will also be expected to return to campus after the work placement in order to complete the remaining coursework. The student will need to supply a work term report along when they return to campus.