Top

List of Approved Courses Eligible for Fulfilling the Breadth Requirements 20252026

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 other departments

Eligible Courses offered by the Department of Computer Science 2025-2026

Course CodeCourse TitleGroupMethodologyResearch Area
CSC2221HIntroduction to the Theory of Distributed Computing1M1RA9
CSC2332HIntroduction to Quantum Algorithms1M2RA1
CSC2410HIntroduction to Graph Theory1M1RA1
CSC2412HAlgorithms for Private Data Analysis1M1RA1
CSC2414HAdvanced Topics in Complexity Theory: Algorithmic Approaches to Lower Bounds1M1RA2
CSC2415HAdvanced Topics in the Theory of Distributed Computing1M1RA9
CSC2419HTopics in Cryptography: Lattice-based Cryptography1M1RA2
CSC2421HTopics in Algorithms: Online and Other Myopic Algorithms1M1RA1
CSC2429HTopics in the Theory of Computation: Algebraic Complexity1M1RA2
CSC2555HMathematical Foundations of Algorithmic Fairness1M4RA15
CSC2501HComputational Linguistics2M4RA4
CSC2502HKnowledge Representation and Reasoning2M1RA11
CSC2503HFoundations of Computer Vision2M2RA7
CSC2511HNatural Language Computing2M2RA4
CSC2516HNeural Networks and Deep Learning2M2RA12
CSC2517HDiscrete Mathematical Models of Sentence Structure2M1RA4
CSC2529HComputational Imaging2M2RA7
CSC2539HTopics in Computer Vision: Physics-informed neural representations for visual computing2M2RA7
CSC2541HFTopics in Machine Learning: Introduction to Causality2M2RA12
CSC2541HSTopics in Machine Learning: AI for Drug Discovery2M2RA12
CSC2545HAdvanced Topics in Machine Learning: Causal and Moral Reasoning with LLMs2M2RA12
CSC2547HCurrent Topics in Machine Learning: Formalized mathematics in the age of LLMs2M2RA12
CSC2611HComputational Models of Semantic Change2M2RA4
CSC2104HFormal Methods of Program Design3M1RA14
CSC2107HCompilers and Interpreters3M3RA14
CSC2108HAutomated Reasoning with Machine Learning3M1RA14
CSC2125HFTopics in Software Engineering: Blockchain Technology & Engineering3M1RA14
CSC2125HSTopics in Software Engineering: Software Engineering for ML-Enabled Systems (SE4AI)3M1RA14
CSC2126HTopics in Programming Languages: Advanced functional programming3M1RA14
CSC2209HComputer Networks3M3RA6
CSC2210HVisual and Mobile Computing Systems3M3RA6
CSC2222HApplications of Parallel and Distributed Computing3M3RA6
CSC2229HTopics in Computer Networks: Computer Networks for Machine Learning3M3RA6
CSC2231HSpecial Topics in Computer Systems: Privacy-Enhancing Technologies3M3RA6
CSC2233HTopics in Storage Systems3M3RA6
CSC2234HDatabase System Technology3M3RA8
CSC2235HCloud-Native Data Management Systems3M3RA8
CSC2306HHigh Performance Scientific Computing3M2RA13
CSC2508HAdvanced Data Systems: Vector Database Systems and Semistructured Data Management3M3RA8
CSC2525HResearch Topics in Database Management: Bigger, Faster, and Stronger Systems3M3RA8
CSC2514HHuman-Computer Interaction4M4RA10
CSC2521HTopics in Computer Graphics: Physics-Based Animation4M2RA5
CSC2524HTopics in Interactive Computing: Human-Centered Artificial Intelligence4M4RA10
CSC2526HHCI: Topics in Ubiquitous Computing: Context-aware computing4M4RA10
CSC2527HSThe Business of Software4M4RA15
CSC2527HFThe Business of Software4M4RA15
CSC2537HSInformation Visualization4TBCRA10
CSC2537HFInformation Visualization4M4RA10
CSC2552HTopics in Computational Social Science: LLMs and Society4M4RA15
CSC2600HTopics in Computer Science: Algorithmic Social Systems4TBCTBC
CSC2604HTopics in Human-Centred and Interdisciplinary Computing: Intellectual Property4M4RA10
CSC2615HEthical Aspects of Artificial Intelligence4M4RA15
CSC2631HMobile and Digital Health4M4RA10
 

Eligible Courses offered by other departments 2025-2026

The following courses have been approved for breadth in 2025—2026. Future offerings of these courses may or may not be approved for breadth. Courses on this list may not be available for enrolment for 2025—2026. Please see the course’s home unit for enrolment dates and availability.

Course CodeCourse TitleGroupMethodologyResearch AreaNotes
ECE1502HInformation Theory1M2RA6
MAT1501HGraph Theory1M1RA1Cross-listed with CSC2410H as of Fall 2025
ECE1512HDigital Image Processing and Applications2M2RA7
ECE1513HIntroduction to Machine Learning2M2RA12
MIE1501HKnowledge Modelling and Management2M1RA11
MIE1510HFormal Techniques in Ontology Engineering2M1RA11
MIE1513HDecision Support Systems2M1RA11
MIE1520HLearning with Graphs and Sequences2M1RA12
MIE1619HConstraint Programming and Hybrid Optimization2M2RA12
MIE1666HMachine Learning for Mathematical Optimization2M1RA12
ROB501H1Computer Vision for Robotics2M2RA7
ROB502H1Programming for Robotics2M2RA16
ROB521H1Mobile Robotics and Perception2M2RA16
STA2104HStatistical Methods for Machine Learning and Data Mining2M2RA12
STA2163HOnline Learning and Sequential Decision Theory2M2RA12
STA4273HTopics Stats Machine Learning: Modern Learning Theory2M2RA12
STA4519HOptimal Transport: Theory & Algorithms2M2RA12
ECE1754HCompilation Techniques for Parallel Processors3M3RA6
ECE1755HParallel Computer Architecture and Programming3M3RA6
ECE1776HComputer Security, Cryptography & Privacy3M3RA6
ECE1779HIntroduction to Cloud Computing3M3RA6
ECE1782HProgramming Massively Parallel Multiprocessors and Heterogeneous Systems3M3RA6
ECE552H1Computer Architecture3M3RA6
STA2006HApplied Stochastic Processes3M3RA6
ECE1778HCreative Applications for Mobile Devices4M4RA10
ETH1000HEthics of AI and Context4M4RA15
STA2555HInformation Visualization4M4RA10Cross-listed with CSC2537H