Courses

The curriculum of the graduate Data Science programs include a combination of core and elective courses from three academic units: Computer Science (CS), Statistics and Actuarial Science (Stats), and Combinatorics and Optimization (C&O). Please view the sections below for more information.

MDSAI Course Requirements

  • 9 courses total, normally consisting of 1 foundation course, 5 core courses, and 3 elective courses.
    • Students who do not require a foundation course will still need to take 9 courses.
  • The program structure is:
    • Term 1 (Study) - Fall (September to December)
    • Term 2 (Study) - Winter (January to April)
    • Term 3 (Co-op) - Spring (May to August)
    • Term 4 (Study) - Fall (September to December)
  • MDSAI full-time students are normally expected to take 3 courses full-time (1 course part-time) each study term for a total of 9 courses. If a student wants to take fewer than 3 courses per term, please consult with the Director, as well as the immigration consultant if you are an international student. Please note that the reduction in course-load may have implications from a government permit-granting perspective.
  • EMLS course (remedial language courses that may be required on your offer letter) do NOT count toward a student's grad course count for a term, and both EMLS 601R (speaking) & 602R (writing) can be taken in the same term if required.

For a detailed course list and requirements, please review the MDSAI Academic Calendar.

MMath in DS Course Requirements

  • Normally 4 courses and 1 foundation course. Students lacking adequate background in computer science or statistics may be required to complete a foundation course (CS 600 or STAT 845). Foundation courses are NOT counted toward the 4 course requirement.
  • We recommend students consult with their supervisor for course selection.
  • EMLS (remedial language courses that may be required on your offer letter) do NOT count toward a student's grad course count for a term and both EMLS 601R (speaking) & 602R (writing) can be taken in the same term if required.

For a detailed course list and requirements, please review the MMath in DS Academic Calendar.

Course Offerings

  • For CS courses, in general it may be assumed that 600-level courses will be offered in each of the next few years, but that the 700 and 800-level offerings may vary from year to year. 
  • STAT 800-level courses that are listed on the Academic Calendar are offered every year. STAT 900-level courses (such as STAT 946) are topics courses and are therefore offered in a term when an instructor wants to share a specific topic of interest.
  • C&O lists term by term course offerings over 3 years. CO 700 level courses will vary depending on instructor availability.
  • Most data science courses are offered more than one term in the year. Please note that STAT 847 (winter) and CS 794 / CO 673 (fall) are currently only offered once per year. Additional exceptions will be communicated by email before each enrolment period. Tip: Using the UW Schedule of Classes for Graduate Students, you can search previous term offerings and this may give you a good idea of when your course of interest may be offered. This is not a guarantee as course offerings are always subject to instructor availability but it can at least give you an idea.
  • For detailed information about instructors and scheduling, please see the UW Schedule of Classes for Graduate Students. For descriptions of courses, please use GSPA's Graduate Course Search.

Important Upcoming Academic Calendar Updates

  1. CS 638 will no longer be a core course option for DS students. Instead, students will have the option to take 1 of CS 648, CS 680 or CS 685.
  2. CS 631 will also no longer be a core course option for DS students
  3. CS 651 will be moved from a core course to an elective course
  4. *New Course” CS 738 Data Engineering for Data Scienceto be added to the graduate academic calendar as a core mandatory course (replaces CS 631/CS 651) and it will be offered as of Winter 2025. Learn more about CS 738 HERE

Anyone that has taken CS 631, CS 651, or CS 638 in a previous term, prior to Fall 2024, will still have the course be counted as a core course and it will still fulfill your program requirements. If students that have taken CS 631/CS 651 are interested in taking CS 738 as an elective please complete the Elective Course Request Form.

If you have not taken CS 631 or CS 651, we would advise that you take CS 738 in Winter 2025. Please email ds.grad.admin@uwaterloo.ca if you fall into this category.

We would advise not taking CS 631 or CS 638 in Fall 2024 and onward.

Course Enrolment

  • Starting 3-4 weeks before the start of the term and ending at the course drop/add deadline (about three weeks after the start of the term), graduate students can enrol in graduate courses using Quest, the University of Waterloo's student information system. MMath in DS students are advised to consult with their supervisor prior to enrolling in courses. Please review the Graduate Important Dates Calendar for specific dates and deadlines.
  • If you were instructed to complete a foundation course in statistics (STAT 845) or computer science (CS 600), you must complete this course to satisfy your degree requirements and enrolling in your first fall term is important to be successful in the rest of your courses.
  • Foundation and core courses should have data science reserves in place at the time of enrolment, meaning that you can enrol in the course normally without a permission number.
  • You can find the instructor of a course in Quest only. Please follow the instructions here: How do I search for a class? | Quest - Student Information System | University of Waterloo (uwaterloo.ca)
  • Enrolling in CS and STAT Electives: There is a wait time in receiving permission numbers. Generally, permission numbers are not provided by the instructor until the student attends the first lecture. Please follow the steps below to get on the waitlist for a permission number.
    • To enrol in approved CS elective courses from the Academic Calendar, you may not be able to enrol directly without a permission number. If enrolling in the course requires a permission number, please request one by sending the course instructor an email (cc’ing the Data Science Program Administrator) with your:
      1. Student full name:
      2. Student ID #:
      3. Student home department registered in: [MDSAI OR MMATH IN DS]
      4. Course # with section #:
    • To enrol in approved STAT elective courses from the Academic Calendar, you will likely not be able to enrol directly without a permission number. If enrolling in the course requires a permission number, please request one by sending the Statistics Graduate Coordinator an email (cc’ing the Data Science Program Administrator) with your:
      1. Student full name:
      2. Student ID #:
      3. Student home department registered in: [MDSAI OR MMATH IN DS]
      4. Course # with section #:
  • If a student wishes to take an elective course that is not in the Academic Calendar, please see below under "Exceptions and Project Courses".
  • Tip: We strongly advise that you complete your required foundation course in statistics (STAT 845) or computer science (CS 600) before enrolling in courses in that component. For example, if you are required to complete STAT 845 in your first term, then wait until the following term to enrol in statistics courses.
  • Not all courses can be added in Quest; an approved Graduate Studies course drop and add form (Graduate Studies forms website) will be required if:

    1. You are requesting to take the course(s) for Audit or as Extra to your degree.
    2. The Graduate Open Class Enrolment period has ended.
  • For information about general graduate course enrolment, including instructions and guidelines, please see the Graduate Course Enrolment Webpage.

Ethics Workshop

MDSAI and MMath in DS students must complete a 3-day workshop on “Ethics in Data Science and Artificial Intelligence” that will be offered once a year. Information about workshop offerings will be shared with students and it is highly recommended that students participate in the first available workshop.

Alternatively, students can complete the course CS 798 Advanced Research Topics on “Artificial Intelligence: Law, Ethics, and Policy’’. However, please note that this topic course is not gauranteed to be offered each year.

Exceptions: Core Courses, Electives and Project Courses

  • A request to waive a core course requirement can be made by submitting a completed Core Course Substitution Form to the Data Science Program Administrator. The request will require evidence in the form of course outlines, topics, textbooks, etc. indicating that a previous course taken is sufficiently close to one of the core courses and will need approval from the Program Director.
  • If a student wishes to take an elective course that is not in the Academic Calendar or in the Pre-approved Elective Course List they must complete the Elective Course Request Form. If given approval, students can enrol in the course following the instructions under Course Enrolment.
  • If a student is interested in the DS 701 and 702 project courses, they are typically completed in the final Fall term after a student’s co-op term. The courses can be taken in the same term or sequential terms. Note that this will require a student to find a willing professor in the DS field and a proposal on the project should be sent to Program Director for approval using the DS 701/702 Approval Form.