Teaching Roles

Lecturer, Computer Sciences 537: Introduction to Operating Systems
(University of Wisconsin, Spring 2012)

This is an upper-level elective covering a variety of topics, including operating system structure, process and thread scheduling, synchronization, concurrency, memory management, resource management, file systems, and storage. My role as lecturer includes planning two lectures and a discussion section each week, writing and grading weekly quizzes, projects, and a final exam, and supervising a teaching assistant.

Teaching Assistant, Computer Science 151: Functional Problem Solving
(Grinnell College, Fall 2006 - Fall 2008)

This course serves as an introduction to Computer Science for majors and non-majors alike. The class uses Scheme to introduce functional programming and general CS concepts. This class is taught in a workshop style, with a 5-10 minute lecture and then lab (four 50-minute classes per week). I was responsible for assisting during lab, answering questions about the material and assignments. I occasionally stood in for the course professor to lecture at the beginning of class. Additionally, I held open lab hours once a week, helping students with homework assignments or working through un-finished class labs.