Archive for the ‘programming’ Category

About a month ago, the Facebook Hacker Cup included a nice programming problem involving a certain kind of matching. The min-cost bipartite matching problem can be stated like this: You have a number P of people, and a number Q ≤ P of jobs. Each person is willing to do any of the jobs, but each person will charge a different price for each job. You are only allowed […]



Next week I am headed to the ITiCSE conference (Innovation and Technology in Computer Science Education), in Vilnius, Lithuania, to present Websheets, an exercise system for programming problems in C++ and Java. Websheets combines a couple of ideas. It is an online system where students get immediate feedback on their programming solutions. This has become very common […]

Today I pushed some code that I used last semester for C++ visualization to github. The bad news is that it’s smoke and mirrors, but the good news is that it did the trick: it helped to convey important ideas about flow control and programming semantics to my students. This is based off of the Python visualizer at by Philip Guo. His […]

Over the last couple of weeks, I’ve been building a graphics/animation library to use in the class that I’m teaching at USC. It’s now in a stable state and has the features that I think I’ll need this semester. A lot of the motivation comes from Princeton where I taught previously: the class there, taught in Java, uses the […]

I am continuing to teach C++, which I am now convinced is a specialized language whose main feature is unchecked array access. However, my students discovered a cool application of said feature. I asked students to write some code to turn this elephant into this grid of 4 elephants: They have a primitive bitmap library, which reads […]

On C++


I’m teaching C++ this semester, for CSCI 103 at the University of Southern California. The students are great! However, the transition to this language is challenging. I am trying to build some tools to work around the language, with mixed success. As always, StackOverflow is very helpful, as is the DeathHandler tool on GitHub. With […]

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