As of now, I have been a teaching assistant (TA) to a handful of CS theory courses, such as:
University of Illinois @ Urbana-Champaign
- CS 374 - Introduction to Algorithms & Models of Computation
- Course covers two main topics, as the name suggests. The models of computation section includes formal coverage of deterministic and non-deterministic finite automata (DFAs & NFAs), regular expressions, equivalences between all three, and then touching on Turing Machines. The algorithms section covers recursive algorithms such as divide and conquer algorithms and dynamic programming. Also covers graph modeling and algorithms related to connectivity, shortest paths. Finishes up with reductions and NP-Completeness.
- TAed this course during: Fall 2021
- CS 473 - Algorithms
- Course covers algorithms material for graduate students and advanced undergraduates who will likely work in theoretical computer science or related fields. Typical topics are advanced dynamic programming, FFTs, randomized algorithms, linear programming, approximation algorithms, and NP-hardness.
- TAed this course during: Spring 2022, Spring 2023, Fall 2023*, Spring 2024