List of Approved Courses Eligible for Fulfilling the Breadth Requirements 2024—2025
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
Course Code | Course Title | Group | Methodology | Research Area |
---|---|---|---|---|
CSC2221H | Introduction to the Theory of Distributed Computing | 1 | M1 | RA9 |
CSC2240H | Graphs, Matrices and Optimization | 1 | M2 | RA1 |
CSC2332H | Introduction to Quantum Computing | 1 | M2 | RA1 |
CSC2401H | Introduction to Computational Complexity | 1 | M1 | RA2 |
CSC2404H | Computability and Logic | 1 | M1 | RA2 |
CSC2405H | Automata Theory | 1 | M1 | RA2 |
CSC2410H | Introduction to Graph Theory | 1 | M1 | RA1 |
CSC2412H | Algorithms for Private Data Analysis | 1 | M1 | RA1 |
CSC2414H | Advanced topics in complexity theory: Algebraic Gems in Math & CS | 1 | M1 | RA2 |
CSC2415H | Advanced Topics in the Theory of Distributed Computing | 1 | M1 | RA9 |
CSC2419H | Topics in Cryptography | 1 | M1 | RA1 |
CSC2420H | Algorithm Design, Analysis, and Theory | 1 | M1 | RA1 |
CSC2421H | Topics in Algorithms | 1 | M2 | RA1 |
CSC2426H | Fundamentals of Cryptography | 1 | M1 | RA2 |
CSC2427H | Topics in Graph Theory: The Probabilistic Method | 1 | M1 | RA1 |
CSC2429H | Topics in the Theory of Computation: Pseudorandomness & Expanders | 1 | M1 | RA2 |
CSC2451H | Quantum Computing, Foundations to Frontier | 1 | M4 | RA15 |
CSC2556H | Algorithms for Collective Decision Making | 1 | M1 | RA15 |
CSC2417H | Algorithms for Genome Sequence Analysis | 2 | M4 | RA3 |
CSC2431H | Topics in Computational Biology and Medicine | 2 | M4 | RA3 |
CSC2501H | Computational Linguistics | 2 | M4 | RA4 |
CSC2502H | Knowledge Representation and Reasoning | 2 | M1 | RA11 |
CSC2503H | Foundations of Computer Vision | 2 | M2 | RA7 |
CSC2506H | Probabilistic Learning and Reasoning | 2 | M2 | RA12 |
CSC2511H | Natural Language Computing | 2 | M2 | RA4 |
CSC2512H | Advanced Propositional Reasoning | 2 | M1 | RA11 |
CSC2515H | Introduction to Machine Learning | 2 | M2 | RA12 |
CSC2516H | Neural Networks and Deep Learning | 2 | M2 | RA12 |
CSC2517H | Discrete Mathematical Models of Sentence Structure | 2 | M1 | RA4 |
CSC2518H | Spoken Language Processing | 2 | M4 | RA4 |
CSC2523H | Object Modelling and Recognition | 2 | M1 | RA7 |
CSC2527H | The Business Software | 2 | M4 | RA15 |
CSC2528H | Advanced Computational Linguistics | 2 | M4 | RA4 |
CSC2529H | Computational Imaging | 2 | M2 | RA7 |
CSC2530H | Computer Vision for Advanced Digital Photography | 2 | M2 | RA5/RA7 |
CSC2539H | Topics in Computer Vision: Physics-Informed Neural Representations for Visual Computing | 2 | M2 | RA7 |
CSC2540H | Computational Cognitive Models of Language | 2 | M1 | RA4 |
CSC2541H | Topics in Machine Learning: Generative AI | 2 | M2 | RA12 |
CSC2541H | Topics in Machine Learning: Large Models | 2 | M2 | RA12 |
CSC2542H | Topics in Knowledge Representation and Reasoning | 2 | M1 | RA11 |
CSC2545H | Advanced Topics in Machine Learning: Geometric Deep Learning | 2 | M2 | RA12 |
CSC2546H | Computational Neuroscience | 2 | M4 | RA15 |
CSC2547H | Current Topics in Machine Learning | 2 | M2 | RA12 |
CSC2548H | Machine Learning in Computer Vision | 2 | M2 | RA7 |
CSC2559H | Trustworthy Machine Learning | 2 | M2 | R12 |
CSC2606H | Introduction to Continuum Robotics | 2 | M3 | RA16 |
CSC2611H | Computational Models of Semantic Change | 2 | M2 | RA4 |
CSC2621H | Topics in Robotics | 2 | M3 | RA16 |
CSC2626H | Imitation Learning for Robotics | 2 | M3 | RA16 |
CSC2630H | Introduction to Mobile Robotics | 2 | M3 | RA16 |
CSC2103H | Software Testing and Verification | 3 | M1 | R14 |
CSC2104H | Formal Methods of Program Design | 3 | M1 | RA14 |
CSC2107H | Compilers and Interpreters | 3 | M3 | RA14 |
CSC2108H | Automated Reasoning with Machine Learning | 3 | M1 | RA14 |
CSC2125H | Topics in Software Engineering: Software Engineering for ML-Enabled Systems (SE4AI) | 3 | M1 | RA14 |
CSC2125H | Topics in Software Engineering: Blockchain Technology and Engineering | 3 | M1 | RA14 |
CSC2126H | Topics in Programming Languages: Types and Effects | 3 | M1 | RA14 |
CSC2130H | Empirical Research Methods in Software Engineering | 3 | M3 | RA14 |
CSC2206H | Computer Systems Modeling | 3 | M2 | RA6 |
CSC2208H | Advanced Operating Systems | 3 | M3 | RA6 |
CSC2209H | Computer Networks | 3 | M3 | RA6 |
CSC2210H | Visual and Mobile Computing Systems | 3 | M3 | RA6 |
CSC2222H | Applications of Parallel and Distributed Computing | 3 | M3 | RA6 |
CSC2224H | Parallel Computer Architecture and Programming | 3 | M3 | RA6 |
CSC2226H | Topics in Verification | 3 | M1 | RA14 |
CSC2227H | Topics in the Design and Implementation of Operating Systems | 3 | M3 | RA6 |
CSC2228H | Topics in Mobile, Pervasive and Cloud Computing | 3 | M3 | RA6 |
CSC2229H | Topics in Computer Networks: Computer Networks for Machine Learning | 3 | M3 | RA6 |
CSC2231H | Topics in Computer Systems: Secure Computer Systems and Hardware | 3 | M3 | RA6 |
CSC2233H | Topics in Storage Systems | 3 | M3 | RA6 |
CSC2234H | Database System Technology | 3 | M3 | RA8 |
CSC2235H | Cloud-native Data Management Systems | 3 | M3 | RA8 |
CSC2302H | Numerical Solutions of Initial Value Problems for Ordinary Differential Equations | 3 | M2 | RA13 |
CSC2305H | Numerical Methods for Optimization Problems | 3 | M2 | RA13 |
CSC2306H | High Performance Scientific Computing | 3 | M2 | RA13 |
CSC2310H | Computational Methods for Partial Differential Equations | 3 | M2 | RA13 |
CSC2321H | Matrix Calculations | 3 | M2 | RA13 |
CSC2326H | Topics in Numerical Analysis | 3 | M2 | RA13 |
CSC2508H | Advanced Data Systems | 3 | M3 | RA8 |
CSC2525H | Research Topics in Database Management: Bigger, Faster, and Stronger Systems | 3 | M3 | RA8 |
CSC2504H | Computer Graphics | 4 | M2 | RA5 |
CSC2513H | Critical Thinking for Human Computer Interaction | 4 | M4 | RA10 |
CSC2514H | Human-Computer Interaction | 4 | M4 | RA10 |
CSC2521H | Topics in Computer Graphics: Seminar in Physics-based Animation | 4 | M2 | RA5 |
CSC2521H | Topics in Computer Graphics: Seminar in Geometry and Animation | 4 | M2 | RA5 |
CSC2524H | Topics in Interactive Computing | 4 | M4 | RA10 |
CSC2526H | HCI: Topics in Ubiquitous Computing: Using LLMs & GPTs for Ubiquitous Computing | 4 | M4 | RA10 |
CSC2536H | Topics in Computer Science and Education | 4 | M4 | RA10 |
CSC2537H | Information Visualization | 4 | M4 | RA10 |
CSC2549H | Physics-Based Animation | 4 | M2 | RA5 |
CSC2552H | Topics in Computational Social Science | 4 | M4 | RA15 |
CSC2557H | Adaptive Experimentation for Intelligent Interventions | 4 | M4 | RA10 |
CSC2558H | Topics in Multidisciplinary HCI | 4 | M4 | RA10 |
CSC2604H | Topics in Human-Centred and Interdisciplinary Computing: Seminar on User Interfaces and Intellectual Property | 4 | M4 | RA10 |
CSC2612H | Computing and Global Development | 4 | M4 | RA15 |
CSC2615H | Ethical Aspects of Artificial Intelligence | 4 | M4 | RA15 |
CSC2631H | Mobile and Digital Health | 4 | M4 | RA10 |
CSC2720H | Systems Thinking for Global Problems | 4 | M4 | RA15 |
Eligible Courses offered by other departments
The following courses have been approved for breadth in 2024—2025. Future offerings of these courses may or may not be approved for breadth. Courses on this list may not be available for enrolment for 2024—2025. 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 | |
MAT1304H | Topics in Combinatorics | 1 | M1 | RA2 | Cross-listed with CSC2414H for 2024-2025 |
MAT1306H | Topics in the Theory of Computation: Pseudorandomness & Expanders | 1 | M1 | RA2 | Cross-listed with CSC2429H for 2024-2025 |
MAT1500H | Applied Analysis | 1 | M1 | RA1 | Cross-listed with CSC2427H for 2024-2025 |
ECE1512H | Digital Image Processing and Applications | 2 | M2 | RA7 | |
ECE1513H | Introduction to Machine Learning | 2 | M2 | RA12 | |
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 | |
STA2104H | Statistical Methods for Machine Learning and Data Mining | 2 | M2 | RA12 | |
STA2163H | Online Learning and Sequential Decision Theory | 2 | M2 | RA12 | |
STA4273H | Topics Stats Machine Learning: Modern Learning Theory | 2 | M2 | RA12 | |
STA4519H | Optimal Transport: Theory & Algorithms | 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 | |
ECE1779H | Introduction to Cloud Computing | 3 | M3 | RA6 | |
ECE1782H | Programming Massively Parallel Multiprocessors and Heterogeneous Systems | 3 | M3 | RA6 | |
ECE1785H | Empirical Software Engineering | 3 | M3 | RA14 | Cross-listed with CSC2130H for 2024-2025 |
ECE552H1 | Computer Architecture | 3 | M3 | RA6 | |
STA2006H | Applied Stochastic Processes | 3 | M3 | RA6 | |
ECE1778H | Creative Applications for Mobile Devices | 4 | M4 | RA10 | |
ETH1000H | Ethics of AI and Context | 4 | M4 | RA15 | |
STA2555H | Information Visualization | 4 | M4 | RA10 | Cross-listed with CSC2537H |