teaching machines

Hi, I'm Chris.

And I teach machines to do things. Also, I teach people how to teach machines at James Madison University. Collected here are my course materials, research notes, and students' work.


FML is a utility that generates a sculpture of one's First, Middle and Last initials. Find the C, R, and J in the sculpture above. Make your own!


Rainbox is a little puzzle game I wrote for my son's 8th birthday. A pixelated, rainbow-colored box has broken apart, and you must put it back together.


Tangle is a tool I wrote to help my eight-year-old son think about multiplying through a spatial lens.


Plaidform is a design tool for making plaid patterns. I wrote an earlier version of it for an introductory programming course, but it proved to be not so introductory. This most recent version is a gift to my youngest son, who weaves our family together.

SLAI 2021

The Summer Liberal Arts Institute for Computer Science at Carleton College introduces computer science and college life to high schoolers through three weeks of courses, research projects, and community activities. My course examines computer science through the lens of geometric modeling.


Madeup is a programming language for making things up—literally. Programmers trace out shapes algorithmically and then turn them into solids that can be printed on a 3D printer.


Deltaphone is a blocks-based programming language that extends the relative movement of turtle geometry into music. Composer-programmers express their tunes using intervals or chromatic or diatonic offsets.


Earpiece is a tool for composing sound effects. You shape the frequency and amplitude of an effect using mathematical functions sequenced—or pieced—together. Go make WAVs.

Trux Falsy

Trux Falsy is a game for practicing boolean logic. You should play it. The source code is freely available. A lot of it was hastily written in Peru.


Flexercise is a game for gaining facility with the Flexbox system for layout in CSS. Play it. The source code is freely available.


Unduo is a two-player Snake game built by my sons at the keyboard and me by their side. But there's only one snake. Two heads are better than one, right?


Crative is a game in which the player builds structures out of crates to solve certain mathematical and logical puzzles. My sons and I have been trying to build a game per year. This was our 2020 entry.


Totally is a tool I wrote to help my five-year-old son think about adding through a spatial lens.


Want an RSS feed of these posts? You may want to subscribe only to non-lecture posts. Or maybe you want them all.