Winter 2027 CS course offerings
The purpose of this table is so that CS graduate students can quickly identify which courses may be the most suitable for them to TA for based on their previous TA experiences and research areas. You must apply for TA positions on the CUPE 5524 Job Opportunities portal by the department's given deadline to be considered at all. Any Sessional Instructor opportunities would be posted on the same portal.
For more detailed information about course content, you can find each course on the undergraduate calendar or review previous course outlines on the university's outline repository. If you would like to improve your chances of being assigned to a specific course, you are encouraged to discuss this with the course instructor for the next term (instructors can submit requests for specific students).
| Course code | Course title | Related courses | Relevant research area | Additional Notes |
|---|---|---|---|---|
| CS105 | Introduction to Computer Programming 1 | CS106 | Human-Computer Interaction |
|
| CS106 | Introduction to Computer Programming 2 | CS105 | Human-Computer Interaction |
|
| CS114 | Principles of Computer Science | CS116 |
|
|
| CS115 | Introduction to Computer Science 1 | CS135, CS145 |
|
|
| CS116 | Introduction to Computer Science 2 | CS114, CS115 |
|
|
| CS135 | Designing Functional Programs | CS115, CS145 |
|
|
| CS136 | Elementary Algorithm Design and Data Abstraction | CS136L, CS137, CS138, CS146, CS246 |
|
|
| CS136L | Tools and Techniques for Software Development | CS136, CS246 |
|
|
| CS138 | Introduction to Data Abstraction and Implementation | CS136, CS137 | Software Engineering |
|
| CS230 | Introduction to Computers and Computer Systems | CS241, CS241E, CS251 | Systems and Networking |
|
| CS231 | Algorithmic Problem Solving | CS341 | Algorithms & Complexity |
|
| CS240 | Data Structures and Data Management | CS234, CS240E | Algorithms & Complexity | |
| CS240E | Data Structures and Data Management (Enriched) | CS234, CS240 | Algorithms & Complexity | |
| CS241 | Foundations of Sequential Programs | CS241E, CS444 | Programming Languages | |
| CS245 | Logic and Computation | CS245E, SE212 | Formal Methods | |
| CS246 | Object-Oriented Software Development | CS246E, CS247, CS346, CS 445, SE 463 | Software Engineering |
|
| CS251 | Computer Organization and Design | CS230, CS450 | Systems and Networking, Electrical Engineering |
|
| CS330 | Management Information Systems | CS490 | Software Engineering | |
| CS335 | Computational Methods in Business and Finance | CS 370, CS371, CS475, AMATH242 | Numerical Computation | |
| CS338 | Computer Applications in Business: Databases | CS348 | Data Systems |
|
| CS341 | Algorithms | CS231, CS466 | Algorithms & Complexity |
|
| CS343 | Concurrent and Parallel Programming | CS350 | Systems and Networking |
|
| CS346 | Application Development | CS246, CS246E, CS445, SE463, CS493, CS493 | Software Engineering | |
| CS348 | Introduction to Database Management | CS338 | Data Systems |
|
| CS349 | User Interfaces | CS449 | Human-Computer Interaction |
|
| CS350 | Operating Systems | CS450 | Systems and Networking |
|
| CS365 | Models of Computation | CS360 | Algorithms & Complexity | |
| CS370 | Numerical Computation | CS335, CS371, AMATH242, CS476, CS487 | Numerical Computation | |
| CS398 | Coding with AI | Artificial Intelligence and Machine Learning | ||
| CS430 | Applications Software Engineering | CS330, CS346, CS446 | Software Engineering | |
| CS431 | Data-Intensive Distributed Analytics | CS430, CS451 | Software Engineering | |
| CS436 | Distributed Computer Systems | CS456 | Systems and Networking | |
| CS442 | Principles of Programming Languages | Programming Languages | ||
| CS444 | Compiler Construction | CS241, CS241E | Programming Languages | |
| CS445 | Software Requirements Specification and Analysis | CS346, CS493, CS494, SE 463 | Software Engineering | |
| CS446 | Software Design and Architectures | CS246, CS246E, CS346, ECE 452, SE 464 | Software Engineering | |
| CS450 | Computer Architecture | CS251 | Systems and Networking | |
| CS451 | Data-Intensive Distributed Computing | CS431 | Data Systems | |
| CS452 | Real-Time Programming | Systems and Networking | ||
| CS453 | Software and Systems Security | CS459 | Cryptography, Security, and Privacy | |
| CS454 | Distributed Systems | Systems and Networking | ||
| CS456 | Computer Networks | CS436 | Systems and Networking | |
| CS459 | Privacy, Cryptography, Network and Data Security | CS453 | Cryptography, Security, and Privacy | |
| CS466 | Algorithm Design and Analysis | CS231, CS341 | Algorithms & Complexity | |
| CS476 | Numeric Computation for Financial Modeling | CS335, CS487, ACTSC 447 | Numerical Computation | |
| CS479 | Neural Networks | AMATH 449 | Artificial Intelligence and Machine Learning | |
| CS480 | Introduction to Machine Learning | CS485, CS486 | Artificial Intelligence and Machine Learning | |
| CS482 | Computational Techniques in Biological Sequence Analysis | Bioinformatics | ||
| CS484 | Computational Vision | Numerical Computation | ||
| CS485 | Statistical and Computational Foundations of Machine Learning | Artificial Intelligence and Machine Learning | ||
| CS486 | Introduction to Artificial Intelligence | CS480, CS485 | Artificial Intelligence and Machine Learning | |
| CS488 | Introduction to Computer Graphics | Computer Graphics | ||
| CS490 | Information Systems Management | CS330, CS490 | Software Engineering, Management Engineering | |
| CS492 | The Social Implications of Computing | |||
| CS494 | Team Project 2 | CS445, CS493, SE463 | Software Engineering |