Teaching
Office hours, precepts, and project reviews I did during my time at Princeton.

Princeton University
Algorithms and Data Structures
Teaching Assistant
Supported students through office hours, precepts, and course logistics for one of Princeton's core CS courses. I worked through Java implementations of the fundamental data structures, including stacks, heaps, balanced search trees, hash tables, and graphs, along with the algorithms built on them, from sorting and searching to shortest paths and union-find. A lot of the job was helping students reason about correctness and running time, and closing the gap between their mental model and their code.
Advanced Programming Techniques
Teaching Assistant
Evaluated semester-long final projects in Princeton's software engineering course, where student teams ship full-stack web applications. I reviewed React front ends and Django back ends for software design and architecture, looking at how responsibilities were split across components, routes, and services. I also audited each app for security, flagging injection vulnerabilities, unsafe input handling, and authentication and authorization gaps before the final demos.