Teaching



Textbooks

I am involved with several textbook projects.



Courses

I teach courses in data structures, algorithms, optimization, and introductory computer science. Here's a link to some of the course materials:

Guest Lectures



Teaching Tools

I supervise projects to design teaching tools for the introductory computer science curriculum at Princeton. Here are some of my favorites that you might find useful too. The source code is freely available.