Winter 2027 TA positions

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). 

If a CS course is not listed here, then the course may not have TAs support or it may be taught by a different department (e.g. AMATH, ECE). In the latter case, you would have to apply to the other department's posting to be considered for it.
Course code Course title Related courses Relevant research area Additional Notes
CS105 Introduction to Computer Programming 1 CS106 Human-Computer Interaction
  • Ideal for new/incoming grad students.
CS106 Introduction to Computer Programming 2 CS105 Human-Computer Interaction
  • Ideal for new/incoming grad students.
CS114 Principles of Computer Science CS116  
  • Ideal for new/incoming grad students.
  • Experience with Python is an asset.
CS115 Introduction to Computer Science 1 CS135, CS145  
  • Ideal for new/incoming grad students.
  • Experience with Racket/Scheme is an asset.
CS116 Introduction to Computer Science 2 CS114, CS115  
  • Ideal for new/incoming grad students.
  • Experience with Python is an asset.
CS135 Designing Functional Programs CS115, CS145  
  • Ideal for new/incoming grad students.
  • Experience with Racket/Scheme is an asset.
CS136 Elementary Algorithm Design and Data Abstraction CS136L, CS137, CS138, CS146, CS246  
  • Ideal for new/incoming grad students. 
  • Experience with C is an asset.
CS136L Tools and Techniques for Software Development CS136, CS246  
  • Only Instructional Apprentice positions available.
  • Experience with Linux, Command Line Shell, Bash is an asset.
CS138 Introduction to Data Abstraction and Implementation CS136, CS137 Software Engineering
  • Experience with C++ is an asset.
CS230 Introduction to Computers and Computer Systems CS241, CS241E, CS251 Systems and Networking
  • Ideal for new/incoming grad students.
CS231 Algorithmic Problem Solving CS341 Algorithms & Complexity
  • Ideal for new/incoming grad students.
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
  • Ideal for new/incoming grad students.
  • Experience with C++ is an asset.
CS251 Computer Organization and Design CS230, CS450 Systems and Networking, Electrical Engineering
  • Ideal for new/incoming grad students.
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
  • Ideal for new/incoming grad students.
CS341 Algorithms CS231, CS466 Algorithms & Complexity
  • Experienced grad students may be asked to hold Instructional Apprentice positions.
CS343 Concurrent and Parallel Programming CS350 Systems and Networking
  • Experienced grad students may be asked to hold Instructional Apprentice positions.
CS346 Application Development CS246, CS246E, CS445, SE463, CS493, CS493 Software Engineering  
CS348 Introduction to Database Management CS338 Data Systems
  • Experienced grad students may be asked to hold Instructional Apprentice positions.
CS349 User Interfaces CS449 Human-Computer Interaction
  • Experienced grad students may be asked to hold Instructional Apprentice positions.
CS350 Operating Systems CS450 Systems and Networking
  • Experienced grad students may be asked to hold Instructional Apprentice positions.
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