Years ago, I lost my temper while arguing with my brother, and said, "Jeff, I could teach you everything I know and you'd still be an idiot." Please keep that in mind as you read this site.

Recent posts


I want a cartoon like this, but instead of being labelled “socialist” and “anarchist”, the people pointing at the stars are labelled “MOOCs” and “peer instru...
May 11, 2018

Cigarettes and Shopify

When I was seven or eight, my teacher told my class that cigarettes cause cancer. My dad was a chainsmoker–a pack a day, sometimes more–so that evening, just...
May 06, 2018

GSoC 2018

It’s been a couple of years since I supervised a Google Summer of Code project, but I still enjoy browsing the projects and seeing what people are up to. Whi...
April 30, 2018

Version 3 Feedback

Version 3 of How to Teach Programming (and Other Things) is now kinda sorta maybe ready for feedback: if you have time to go through 270 pages and tell me wh...
April 28, 2018

Is This a Notional Machine for Python?

Mark Guzdial was kind enough to take a few tweets last week to try to explain the idea of a “notional machine” to me. If I understand correctly, it’s a compe...
April 12, 2018