Computer Sciences 302: Introduction to Programming
(University of Wisconsin-Madison, Summer 2015)
This is an introductory (CS 1) course covering a Computer Science basics and the Java programming language. I taught this course during the summer session; in eight weeks, we covered the same material usually covered during a 15-week semester version of this course. My role as lecturer included planning four lectures a week, writing four projects, writing and grading three exams, and supervising a teaching assistant.
Instructor, Grandparents University: Computer Science Major
(Grandparents University at the University of Wisconsin-Madison, Summer 2013)
The Wisconsin Alumni Association organizes Grandparents University each year to bring alumni grandparents and their grandchildren (ages 7-14) back to UW to participate in "majors" and enjoy the UW Campus. I taught three sessions (6 hours of instruction time over two days per session) of the Computer Science major in 2013; I reused materials from Andrea Arpaci-Dusseau, who started the Computer Science major in 2011 using activities in Scratch and CS Unplugged. You can see samples of the Scratch projects we worked on here. You can also see pictures from Sessions I, II, and III.
Computer Sciences 537: Introduction to Operating Systems
(University of Wisconsin-Madison, 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 included planning two lectures and a discussion section each week, writing and grading weekly quizzes, projects, and a final exam, and supervising a 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.
Guest Lecturer, various
While at the University of Wisconsin-Madison, I guest lectured in several sections of CS 537 (see course description above), covering a range of topics.
I have led and co-led a variety of outreach activities; you can read more about these in Extra.