Archive for the ‘programming’ Category

One of my favourite pieces of technology is WordPress. My main project with it is Computer Science Circles, but I’ve also used it for online course notes and I first learned of it helping my colleague Douglas with a student organization website. It was my head-first introduction to the language PHP. PHP is capable of a lot of nifty stuff. PHP pages […]

Computer Science Circles is now fully open-source! Over the summer, we put the backend code up on GitHub and provided links to the lesson and exercise definitions on the website. A SIGCSE Special Projects grant made this work possible, for which we’re very grateful. One thing we learned as a result is that open-sourcing has surprising applications. […]

Doodlr and SPE


I spent some time earlier this summer mentoring two undergraduates, Pallavi Koppol and Joanna Wang, who built a really cool HTML-based drawing program called Doodlr. Its main features are (1) simultaneous drawing by multiple users, (2) opacity/transparency, and (3) support for Wacom tablets. If you check it out now at you can even see a vampire moose […]

Abstract. I’ve spent some time this summer making a programming visualizer for the Java language. Sara has spent some time this summer making a video showing the coffee roasting process for Princeton’s own Small World Coffee. I think my project has a cooler icon, but hers has a better soundtrack. Since I came to Princeton […]

Bits of CS


On the first day of the Intro to CS course, a written survey asked students a bunch of questions. The overall best answer, given to the question “Why are you here?”, was “Because it’s 12:30 on a Tuesday.” I had a student who couldn’t run Java because calls to Math.sqrt and the like would not […]

COS 126 Wrap-up


The main course that I taught this term, the introduction to computer science (COS 126) at Princeton, just wrapped up. It’s a very well-designed course. Before coming here I had thought that Java had too much potential for confusion for beginners — it is a lot of confusing work to type out public class { public […]

I have been following some of the material produced by Khan Academy, in particular their recent and awesome software environment. They started producing Python tutorial videos back in 2011, but earlier this year they made a dramatic switch to a JavaScript dialect and an in-browser graphical immediate interpreter. That is to say, if you write […]