teaching machines

Hi, I'm Chris.

And I teach machines to do things. Also, I teach people how to teach machines at the University of Wisconsin, Eau Claire. 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 January 2011!
IEEE-754 sighting


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

Braden, Josh, and Nick made coOperation Breakout in a course that mashed together game development and physical computing. They designed their own controllers out of Arduinos and various electronic components. In the game, two players work through a cast of characters with complementary skills to solve a gauntlet of puzzles and free themselves from the tyranny of individualism.


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.

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.


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.