Needles Hall, second floor, room 2201
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
- 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)
- 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.
- Students must complete 4 one-term (0.50 unit weight) graduate courses:
- Link(s) to courses
- 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.
- 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.
- Students must complete 7 one-term (0.50 unit weight) courses:
- Link(s) to courses
- Master’s Research Paper
- Students must present their research paper topic in a publicly announced seminar.
- 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.
Data Science specialization option
Note: The David R. Cheriton School of Computer Science is not currently accepting applications for the Data Science specialization option.
-
The requirements for the Data Science specialization option are 8 one-term graduate courses, in addition to any remedial work. Remedial courses cannot be counted towards this number.
-
Students should take a minimum of 4 CS courses. At least 2 of the CS courses should be at the 700 or 800 level, at least 1 of which should be at the 800 level. A student may not have more than 4 courses from a single area to meet the degree requirements (see “Areas” table below).
Area
Courses
Hardware and Software Systems
CS 651, CS 654, CS 658, CS 856, CS 858
Algorithms and Complexity
CO 602, CO 650, CO 663
Scientific and Symbolic Computing
CS 870
Computational Statistics
CS 680, CS 685, CS 786, STAT 840, STAT 841, STAT 842, STAT 844, STAT 847, STAT 946
Artificial Intelligence
CS 686, CS 798, CS 886
Databases
CS 648, CS 740, CS 741, CS 743, CS 848
- In addition to the above restrictions, students must satisfy the following course requirements:
- Foundation course:
- STAT 845 Statistical Concepts for Data Science
- Students with a CS major degree are expected to take the foundation course STAT 845. However, CS major students will be exempted from taking STAT 845 if they have a sufficient background in Statistics; instead they will be required to take another STAT course from the elective course list.
- Required core courses:
- CS 651 Data-Intensive Distributed Computing
- STAT 847 Exploratory data analysis
- CS major students will be exempted from taking CS 651 if they have taken a course equivalent to CS 651; instead they will be required to take another CS course from the elective course list.
- 1 of the following required breadth courses:
- CS 648 Database Systems Implementation
- CS 680 Introduction to Machine Learning
- CS 685 Machine Learning Theory: Statistical and Computational Foundations
- Substitutions of the required breadth courses are possible, subject to the approval of the Graduate Officer.
- 4 elective courses from the following list:
- CS 648 Database Systems Implementation
- CS 654 Distributed Systems
- CS 658 Computer Security and Privacy
- CS 680 Introduction to Machine Learning
- CS 685 Machine Learning Theory: Statistical and Computational Foundations
- CS 686 Introduction to Artificial Intelligence
- CS 740 Database Engineering
- CS 741 Parallel and Distributed Database Systems
- CS 743 Principles of Database Management and Use
- CS 786 Probabilistic Inference and Machine Learning
- CS 798 Advanced Research Topics
- CS 848 Advanced Topics in Databases
- CS 856 Advanced Topics in Distributed Computing
- CS 858 Advanced Topics in Cryptography, Security and Privacy
- CS 870 Advanced Topics in Scientific Computing
- CS 886 Advanced Topics in Artificial Intelligence
- STAT 840 Computational Inference
- STAT 841 Statistical Learning: Classification
- STAT 842 Data Visualization
- STAT 844 Statistical Learning: Function estimation
- STAT 946 Topics in Probability and Statistics
- CO 602 Fundamentals of Optimization
- CO 650 Combinatorial Optimization
- CO 663 Convex Optimization and Analysis
- Note: CS 798: CS courses at the 800 level, and STAT courses at the 900 level should be on a topic in Data Science; they are subject to the approval of the Graduate Office.
- Other advanced courses are offered within the Faculty of Mathematics on topics of Data Science on a more irregular basis. These courses may be taken with approval of the Graduate Officer and course instructor. Similarly, courses offered outside the Faculty, in Data Science or in some area of its application may be approved by the Graduate Officer and the course instructor.
- Students must complete 8 one-term (0.50 unit weight) graduate courses:
- Link(s) to courses
- Data Science Requirement
- Students must complete the course requirements of the Data Science specialization option in order to satisfy the Data Science Requirement milestone.
Thesis option:
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.
Coursework option:
The coursework option includes a specialization in Data Science option. Degree requirements for the specialization in Data Science are outlined below in the “Categories and Areas” table.
Note: The David R. Cheriton School of Computer Science is not currently accepting applications for the Data Science specialization option.