The program information below is valid for the fall 2023 term (September 1, 2023 - December 31, 2023).

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.

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 
    • Doctoral
    • Research
  • Registration option(s) 
    • Full-time
    • Part-time
  • Study option(s) 
  • Minimum requirements 
    • Students in the Doctor of Philosophy (PhD) in Computer Science program can apply to transfer into the Doctor of Philosophy (PhD) in Computer Science – Internship program after completing at least one academic term. Admittance will be decided based on the student’s progress to date, and is subject to approval by the student’s supervisor(s) and the Director of Graduate Studies in the David R. Cheriton School of Computer Science.

    Thesis option:

  • Graduate Academic Integrity Module (Graduate AIM)
  • Courses 
    • Students who already have a Master's degree must take 4 additional one-term Computer Science graduate courses after the Master's degree. At least 1 of these courses must be at the 800 level, and at most 1 can be at the 600 level.
    • Students who enter the PhD program directly from a bachelor's degree must take 8 additional one-term Computer Science graduate courses after the bachelor's degree. At least 3 of these courses must be at the 800 level, and at most 3 can be at the 600 level.
    • Note: courses need to be selected from the Categories and Areas table but exceptions can be granted by the School of Computer Science.
  • Link(s) to courses
  • PhD Internship
    • Students are required to complete one or more four-month internships working on a topic related to their program. The internships will be arranged by the student, possibly with assistance from the supervisor. The internship must be approved by the supervisor and the Director of Graduate Studies in the David R. Cheriton School of Computer Science. At most two consecutive terms can be taken for an internship. An internship may not be taken in the student's final term.
  • PhD Comprehensive Examination I
    • The Comprehensive I requirement ("breadth requirement") ensures that a student has sufficient breadth of knowledge to undertake research at the PhD level. A student meets the requirement by taking a number of advanced courses in a broad range of categories and areas. The courses used must all have a minimum mark of 78% (or equivalent).
    • Categories and Areas for Breadth Requirement: the breadth requirement divides the subject matter of computer science into three broad categories. Each category is subdivided into areas that represent a range of the fields of computer science, as given in the table below. The table also indicates where computer science courses at the University of Waterloo fit in these categories and areas. A student must have at least 1 advanced course in six of the eleven areas, including at least one area from each category:



    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 794, CS 870, CS 887

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

    Quantum Information and Computation

    CS 766, CS 768, CS 867


    Artificial Intelligence

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


    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


    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.
    • Advanced courses taken in an undergraduate program as well as graduate courses can be used to meet the breadth requirement in each of the categories and areas. For example, at the University of Waterloo many of the 600-level graduate courses hold lectures in common with 400-level undergraduate courses. For the purposes of meeting the breadth requirement, the 400-level course is considered to be equivalent to the 600-level course. Although courses from other universities may not cover exactly the same material as the University of Waterloo courses, they will be evaluated by the Graduate Committee to determine if the topics covered and the depth of the material is appropriate. Offerings of CS 690B, CS 698, CS 798, CS 898 or equivalent may also count in an appropriate area. Courses offered by other departments may also have assigned areas.
    • Procedure: within a month of entering a PhD program, a new student submits a document to the Graduate Committee detailing their relevant past courses and future plans. Written in consultation with the student's supervisor, it should indicate:
      • Courses or equivalent (including theses) already taken by the student that fulfil part of the breadth requirement.
      • A proposed program of study (including the terms during which the courses will be taken), which the student intends to complete in order to fulfil the remaining part of the breadth requirement.
    • The Graduate Committee must be able to determine the content, level and mark for courses used to fulfil the requirement as compared to courses at Waterloo. The student must provide sufficient evidence to convince the Committee that a course (or courses) listed does indeed fulfil an area requirement. Pertinent information includes course syllabi, textbooks used, descriptions of prerequisites or co-requisites, and references to university catalogues (web-based or otherwise accessible). The Graduate Committee will ask the student for more information or certification in cases of doubt and will consult with experts in the Department as it deems appropriate. The Graduate Committee will be the final arbiter of whether courses taken and marks obtained satisfy the requirements.
    • By the end of the student's first term in the program, the Committee will inform the student which categories and areas the submitted courses have satisfied and whether the submitted plan will suffice to complete the breadth requirement.
    • A student must complete the breadth requirement by the end of their fourth term.
  • PhD Comprehensive Examination II
    • Students are required to meet the University-level PhD Comprehensive Examination minimum requirements outlined in the “Minimum requirements for the PhD degree” section of the Graduate Studies Academic Calendar (GSAC), with certain noted differences that are specific to the Faculty of Mathematics Comprehensive Examination minimum requirements:
      • Comprehensive examination purpose: Consistent with University-level minimum requirements.
      • Timing: Consistent with University-level minimum requirements. 
      • Committee: Consistent with University-level minimum requirements. Note: The Faculty of Mathematics wishes to use the option to have the committee approved by a delegate of the Associate Dean, namely by the Graduate Officer in the home department of the student.
      • Who Chairs an examination: Consistent with University-level minimum requirements.
      • Format / Content: Consistent with University-level minimum requirements.
      • Academic integrity: In the Faculty of Mathematics, when a student needs to submit a written document to their comprehensive examination committee prior to the examination, they are required to sign an acknowledgement form affirming their work does not violate the University policy on Academic Integrity. Students are also encouraged to use a
        plagiarism detection software and include its report with the submission of their written document. Furthermore, the comprehensive examination committee may require the student to use such software and include the report it generated with the submission of their written component.
    • In addition to the University-level and Faculty-level PhD Comprehensive Examination minimum requirements, students in the PhD in Computer Science program are also required to meet the following requirements:
      • The PhD Comprehensive Examination II is an oral presentation of a Research Proposal (not a Thesis Proposal) together with questioning by the Advisory Committee. The examination is normally held in camera. The candidate should convince the committee that the chosen research area is suitable and demonstrate an appropriate breadth of knowledge in the chosen area. The committee should decide if there is a thesis topic in the area and whether the candidate is capable of completing such a thesis. It is not required that the student should have already obtained new, publishable results in the proposed area. 
      • The scope of the examination includes not only the research proposal, but also breadth in the chosen area. The student's supervisor is primarily responsible for the definition of what constitutes breadth. 
      • The candidate should submit a written research proposal to each member of the committee and to the Director of Graduate Studies of the School of Computer Science at least two weeks prior to the examination. It is recommended that the research proposal be no longer than 20 pages in length. The research proposal should endeavour to convince the committee that the candidate can complete a thesis in the chosen area in the remaining time available to do so. However, it is not expected to contain new research results. 
  • PhD Seminar
    • Students must present at least 3 publicly announced seminars during the program. The purpose of this requirement is twofold: first, it ensures that each student participates in the academic life of the Department and, second, it provides an opportunity for students to hone their presentational skills. Each seminar should be attended by at least the student's supervisor and one other faculty member of the David R. Cheriton School of Computer Science, who will be required to assess and approve the quality of the presentation.
  • PhD Thesis
    • Students must submit a thesis embodying the results of their own original research. Upon completion of the thesis, the student defends the final document before an examination board consisting of the supervisor, co-supervisor (if any), two faculty members from the David R. Cheriton School of Computer Science, one University of Waterloo faculty member external to the School of Computer Science and an external examiner. The examination exposes the student's work to scholarly criticism and gives the student the opportunity to defend it.