I am not currently teaching in any official capacity, but it is something that I enjoy very much. For that reason, I still keep my statement of teaching philosophy available here. I have spent many years as a teaching assistant for computer science classes, and I have been a private tutor for high school math, chemistry, and physics.

Recent Teaching

I taught (and continued to learn!) Haskell at previous jobs, but not in formal settings. Additionally, I taught some basic computer science and practical Python skills to a friend working in biological sciences, allowing him to write a script for identifying a select agent pathogen, ultimately leading to a peer-reviewed journal publication.

Yale University Teaching Fellow (2010-2014)

At Yale, I was a teaching fellow for the introductory programming course (CPSC201: Introduction to Programming) as well as my adviser’s computer music course (CPSC432: Computer Music: Sound Representation and Synthesis). Being a TA multiple times (five semesters for 201 and 2 semesters for 432) has helped me get into the rhythm of teaching, and as my experience grew, so too did my responsibilities. I have been in charge of grading and office hours, but I have also given multiple lectures (some of which I prepared myself) and helped develop coursework.

Yale’s online course evaluation form allows students to anonymously submit reviews of the courses they take. The following is a selected list of reviews that I have received as a teaching fellow at Yale:

Brown University TA (2005-2007)

My teaching career started at Brown University as an undergraduate TA. I was a TA for six different courses, ranging from introductory courses to embedded and distributed systems to algorithm and programming language design. Work involved lots of grading, some course preparation, and one-on-one interaction with students during office hours. For two of those courses (CS160: embedded systems and CS173: Programming Languages), I was a Head TA, which put me in charge of the other TAs as well.