Teaching

I really love teaching CS! It’s fun to be the first one to introduce all the awesome parts of the field to students, and it’s extremely rewarding to see students enjoying coding, design, theory, or whatever.

Teaching CS is also a serious business, and I am always looking for ways to improve my pedagogy. My approach is usually a lecture plus interspersed active class exercises to practice skills and reinforce difficult points. For a summary of my teaching philosophy, feel free to check out my teaching statement (though it is a bit dry).

I generally solicit student feedback (both in terms of how well the liked the lesson and objective measures of understanding). You can see my thoughts on some of my recent teaching here:

  • My students are awesome: CSSE 376 Board Games May 20, 2013So in my quality assurance course, I ask my students to form groups of 2-3 and build computerized versions of board games. I selected board games in particular because I knew board game logic was both understandable AND tricky enough that it could generally benefit from robust unit testing (which was what I was ...
  • Reflection on Summer 2012 GHP Classes December 10, 2012I’m a big believer in student feedback. Even though students often can’t articulate the source of problems, going through and reflecting is an essential part of figuring out what I want to try going forward. So even in an environment like GHP where I’m not asked to formally collect evaluations, I always do. ...
  • Making Simple Fractals in R October 9, 2012In my GHP Fractals class this summer, I opted to write my sample programs in R. I selected R because it has very nice graphing libraries and built-in complex numbers. Overall, I was pleased with R; it definitely let me built some incredibly straightforward fractal code. It’s not as fast or pretty ...
  • Feedback from my First Semester Teaching May 11, 2012So Duke Spring 2012 is finished, and grades are in; it’s time for me to become an ordinary graduate student again. But before I do that, I think it’s reasonable to reflect just a bit on how the semester went. All and all, I am happy but not ecstatic with how my first semester turned ...
  • My students are awesome (part 2): cs100 December 20, 2011CS100 is a your basic CS2 course, providing an introduction to data structures, big O, and of course plenty of practice coding tricky problems. This course is a great favorite of mine to teach, mostly because of the office hours. It’s just fun to work with students who are just starting to get ...

Want more? View all teaching posts