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.


Twoville is a programming language for generating two-dimensional SVG images that can be fed into vinyl or laser cutters. It also supports animation at the syntactic level.


Flashback to June 2016!
Madeup Goes To Summer School


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.

Student Gallery

Adam R., Tyler R., and Michael S. developed Ranger Quest for a 2D game development class. This game was so fun that you didn't mind dying, because that meant you got to play some more.


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?


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.