Archive for the ‘programming’ Category

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

07Aug13

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 http://doodlr-spe.herokuapp.com/ 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

27Feb13

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

24Jan13

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 […]


In the last month there has been exciting news about the Computer Science Circles project I’ve worked on with colleagues from the University of Waterloo. One is that the site is now disponible en français, thanks in no small part to Brice Canvel, a Swiss teacher who translated most of the lessons. Another is that a paper […]