teaching machines

Pixel Cat

To improve listening in my overly large family, we have introduced a feature into our evening meals. Each night, someone issues a challenge, a question, or some other activity that gives each member of the family an opportunity to share and be listened to. Last night, my oldest son gave us the task of creating […]

The Before Loop

My students last week invented the “before” loop. We won’t talk about loops in class for a while yet, but they waste no time in accidentally spawning them in unexpected ways. See their latest cleverness:

Eclipse Shortcuts

Eclipse has a lot of keyboard shortcuts and I know hardly any of them. But my students still think I’m an ace. These are the ones I do use on a regular basis, shared so that my students can be aces: Automatically add import statements to classes that live in faraway packages with Control-Shift-O or […]

Formatting Java in Eclipse

The style that the Eclipse auto-formatter imposes on my Java code is 99% excellent. However, whenever I set up a new workspace, that 1% of style I disagree with eats away at my soul. I document the few things that I do change here because it’s easier to set them anew then try to migrate […]

Checking Slack Participation with Ruby and OAuth2

A couple of years ago, a student asked me if I thought MOOCs were going to make universities obsolete. I said no, because in my experience of taking MOOCs, one thing that didn’t scale was the number of people answering questions in the forums. No matter the class size, there seemed to be about 5-10 […]

Fitting by Rotating

Last spring I was talking about media queries with some students, and we joked around about just rotating any structures that were too wide to fit in the viewport. As silly as this idea is, I wondered how easy it would be to do with just CSS. First, here’s a div with some text that […]

Toward Blocks-Text Parity

I gave a talk on a paper that a student and I wrote at COMPSAC 2017 in Torino, Italy. Our work was a position paper responding to the folks who say that blocks programming languages are going to take over the world. These people do exist. The following is a rough manuscript of my talk. […]


Every school year I forward to The Summer of Really Learning 3D Modeling. Unfortunately, it keeps getting canceled—usually by equally good things. But I really can’t let September come around again and not have made any 3D models in a traditional modeling program. So, I watched an old video that I had saved and made […]

ITiCSE 2017 in Italy

At the end of each ITiCSE working group I’ve been involved in, I swear I will never do another. Writing a lengthy report with a bunch of other humans is incredibly exhausting, and the process usually causes me to lose faith in mankind. But inevitably, I sign up again the next year, because I can’t […]

Job-shadowing Mr. Kurt

Today I job-shadowed Mr. Kurt, a 4th and 5th grade teacher at the Chippewa Valley Montessori School. I am not looking to become an elementary school teacher. I just wanted to see how someone spends the entire day with such undeveloped brains and bodies. As a university professor, teachers of this age group instantly have […]

1 2 3 24