List of Approved Courses Eligible for Fulfilling the Breadth Requirements 2026—2027
The breadth requirement for the MSc and PhD degree programs ensures that students complete courses from a sufficiently wide range of topics within Computer Science. Only courses that are on the List of Approved Courses Eligible for Fulfilling Breadth Requirements when they are taken can be used to satisfy the breadth requirement. This list is updated annually by the Graduate Affairs Committee. It includes almost all graduate courses taught in our department and a small number of courses offered by other departments on topics that have substantial Computer Science content.
The courses on this list are divided into 4 groups, depending on their subject area:
• Group 1: Algorithms, Complexity, Cryptography, Theory of Distributed Computing
• Group 2: Artificial Intelligence, Machine Learning, Knowledge Representation, Computational Linguistics, Computational Biology and Medicine, Robotics, Vision
• Group 3: Systems, Networks, Databases, Security, Programming Languages, Compilers, Software Engineering, Scientific Computing
• Group 4: Human Computer Interaction, Computational Social Science, Visualization, Graphics, Sustainability Computing, Computer Science Education
Breadth Requirements Pre-2024
CS courses are classified on the basis of their content into four methodologies and sixteen research areas. Methodologies are core problem-solving approaches and/or techniques and general tools emphasized in the course material, while research areas are aligned with the activities of the various research groups in the department.
Eligible Courses offered by the Department of Computer Science
Eligible Courses offered by the Department of Computer Science 2026-2027
| Course Code | Course Title | Group | Methodology | Research Area |
|---|---|---|---|---|
| CSC1500H | Fundamentals of Teaching Computer Science in Higher Education | N/A | N/A | N/A |
| CSC2103H | Software Testing and Verification | 3 | M1 | RA14 |
| CSC2104H | Formal Methods of Program Design | 3 | M1 | RA14 |
| CSC2108H | Automated Reasoning with Machine Learning | 3 | M1 | RA14 |
| CSC2125H | Topics in Software Engineering: Software Engineering for Machine Learning | 3 | M1 | RA14 |
| CSC2126H | Topics in Programming Languages: Advanced Functional Programming | 3 | M1 | RA14 |
| CSC2208H | Advanced Operating Systems | 3 | M3 | RA6 |
| CSC2209H | Computer Networking Systems | 3 | M3 | RA6 |
| CSC2221H | Introduction to the Theory of Distributed Computing | 1 | M1 | RA9 |
| CSC2222H | Applications of Parallel and Distributed Computing | 3 | M3 | RA6 |
| CSC2229H | Topics in Computer Networks: Computer Networks and Machine Learning | 3 | M3 | RA6 |
| CSC2229H | Topics in Computer Networks: Privacy-Enhancing Technologies | 3 | M3 | RA6 |
| CSC2234H | Database System Technology | 3 | M3 | RA8 |
| CSC2235H | Cloud-Native Data Management Systems | 3 | M3 | RA8 |
| CSC2236H | Data Structures in the Wild | 3 | M3 | RA8 |
| CSC2237H | Secure Computer Hardware Systems | 3 | M3 | RA6 |
| CSC2305H | Numerical Methods for Optimization Problems | 3 | M2 | RA13 |
| CSC2321H | Matrix Calculations | 3 | M2 | RA13 |
| CSC2405H | Automata Theory | 1 | M1 | RA2 |
| CSC2407H | Mathematical Methods in the Theory of Computation | 1 | M1 | RA1/RA2 |
| CSC2410H | Introduction to Graph Theory | 1 | M1 | RA1 |
| CSC2414H | Advanced Topics in Complexity Theory: Quantum Algorithms and Complexity Theory | 1 | M1 | RA2 |
| CSC2414H | Advanced Topics in Complexity Theory: Applications of High-Dimensional Expanders | 1 | M1 | RA2 |
| CSC2419H | Topics in Cryptography: Zero-Knowledge Proofs | 1 | M1 | RA2 |
| CSC2421H | Topics in Algorithms: Online and Other Myopic Algorithms | 1 | M1 | RA1 |
| CSC2421H | Topics in Algorithms: Algorithmic Discrepancy Theory | 1 | M1 | RA1 |
| CSC2429H | Topics in the Theory of Computation: Algebraic Gems in Discrete Math and Theoretical Computer Science | 1 | M1 | RA2 |
| CSC2431H | Topics in Computational Biology and Medicine: Building and Deploying AI in Medicine | 2 | M4 | RA3 |
| CSC2501H | Computational Linguistics | 2 | M4 | RA4 |
| CSC2502H | Knowledge Representation and Reasoning | 2 | M1 | RA11 |
| CSC2506H | Probabilistic Learning and Reasoning | 2 | M2 | RA12 |
| CSC2506H | Probabilistic Learning and Reasoning | 2 | M2 | RA12 |
| CSC2508H | Advanced Data Systems | 3 | M3 | RA8 |
| CSC2511H | Natural Language Computing | 2 | M2 | RA4 |
| CSC2512H | Advanced Propositional Reasoning | 2 | M1 | RA11 |
| CSC2514H | Human-Computer Interaction | 4 | M4 | RA10 |
| CSC2514H | Human-Computer Interaction | 4 | M4 | RA10 |
| CSC2515H | Introduction to Machine Learning | 2 | M2 | RA12 |
| CSC2516H | Neural Networks and Deep Learning | 2 | M2 | RA12 |
| CSC2518H | Spoken Language Processing | 2 | M4 | RA4 |
| CSC2524H | Topics in Interactive Computing: Human-Centered Artificial Intelligence | 4 | M4 | RA10 |
| CSC2526H | HCI: Topics in Ubiquitous Computing: Context-Aware Computing | 4 | M4 | RA10 |
| CSC2527H | The Business of Software | 4 | M4 | RA15 |
| CSC2529H | Computational Imaging | 2 | M2 | RA7 |
| CSC2530H | Computational Imaging and 3D Sensing | 2 | M2 | RA5/RA7 |
| CSC2532H | Statistical Learning Theory | 2 | M2 | RA12 |
| CSC2537H | Information Visualization | 4 | M4 | RA10 |
| CSC2539H | Topics in Computer Vision: Physics-Informed Neural Representations for Visual Computing | 2 | M2 | RA7 |
| CSC2541H | Topics in Machine Learning: Learning Theory | 2 | M2 | RA12 |
| CSC2545H | Advanced Topics in Machine Learning: Geometric Deep Learning | 2 | M2 | RA12 |
| CSC2555H | Mathematical Foundations of Algorithmic Fairness | 1 | M4 | RA15 |
| CSC2558H | Topics in Multidisciplinary HCI: Technology Abuse in Interpersonal Contexts | 4 | M4 | RA15 |
| CSC2600H | Topics in Computer Science: Capstone Project for the Business of Software | N/A | N/A | N/A |
| CSC2600H | Topics in Computer Science: Algorithmic Social Systems | 4 | M2 | RA15 |
| CSC2611H | Computational Models of Semantic Change | 2 | M2 | RA4 |
| CSC2626H | Imitation Learning for Robotics | 2 | M3 | RA16 |
| CSC2631H | Mobile and Digital Health | 4 | M4 | RA10 |
Eligible Courses offered by other departments 2026-2027
The following courses have been approved for breadth in 2026—2027. Future offerings of these courses may or may not be approved for breadth. Courses on this list may not be available for enrolment for 2026—2027. Please see the course’s home unit for enrolment dates and availability.
| Course Code | Course Title | Group | Methodology | Research Area | Notes |
|---|---|---|---|---|---|
| ECE1502H | Information Theory | 1 | M2 | RA6 | |
| ECE1512H | Digital Image Processing and Applications | 2 | M2 | RA7 | |
| ECE1513H | Introduction to Machine Learning | 2 | M2 | RA12 | |
| ECE1754H | Compilation Techniques for Parallel Processors | 3 | M3 | RA6 | |
| ECE1755H | Parallel Computer Architecture and Programming | 3 | M3 | RA6 | |
| ECE1776H | Computer Security, Cryptography & Privacy | 3 | M3 | RA6 | |
| ECE1778H | Creative Applications for Mobile Devices | 4 | M4 | RA10 | |
| ECE1779H | Introduction to Cloud Computing | 3 | M3 | RA6 | |
| ECE1782H | Programming Massively Parallel Multiprocessors and Heterogeneous Systems | 3 | M3 | RA6 | |
| ECE552H1 | Computer Architecture | 3 | M3 | RA6 | |
| ETH1000H | Ethics of AI and Context | 4 | M4 | RA15 | |
| MAT1304H | Topics in the Theory of Computation | 1 | M1 | RA2 | Cross-lised with CSC2429H starting Winter 2027 |
| MAT1307H | Mathematical Methods in the Theory of Computation | 1 | M1 | RA1/RA2 | Cross-lised with CSC2407H starting Fall 2026 |
| MAT1501H | Graph Theory | 1 | M1 | RA1 | Cross-lised with CSC2410H starting Winter 2027 |
| MIE1501H | Knowledge Modelling and Management | 2 | M1 | RA11 | |
| MIE1510H | Formal Techniques in Ontology Engineering | 2 | M1 | RA11 | |
| MIE1513H | Decision Support Systems | 2 | M1 | RA11 | |
| MIE1520H | Learning with Graphs and Sequences | 2 | M1 | RA12 | |
| MIE1619H | Constraint Programming and Hybrid Optimization | 2 | M2 | RA12 | |
| MIE1666H | Machine Learning for Mathematical Optimization | 2 | M1 | RA12 | |
| ROB501H1 | Computer Vision for Robotics | 2 | M2 | RA7 | |
| ROB502H1 | Programming for Robotics | 2 | M2 | RA16 | |
| ROB521H1 | Mobile Robotics and Perception | 2 | M2 | RA16 | |
| STA2006H | Applied Stochastic Processes | 3 | M3 | RA6 | |
| STA2104H | Statistical Methods for Machine Learning and Data Mining | 2 | M2 | RA12 | |
| STA2162H | Statistical Inference I | 2 | M2 | RA12 | New as of 2026-2027 |
| STA2163H | Online Learning and Sequential Decision Theory | 2 | M2 | RA12 | |
| STA2555H | Information Visualization | 4 | M4 | RA10 | Cross-listed with CSC2537H Winter 2027 |
| STA4273H | Topics Stats Machine Learning: Modern Learning Theory | 2 | M2 | RA12 | |
| STA4519H | Optimal Transport: Theory & Algorithms | 2 | M2 | RA12 |
