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.
CS 430
- Lecture 10 - Concurrency and Exceptions
- Lecture 9 - Abstraction and Object-oriented Programming
- Lecture 8 - Activation
- Lecture 7 - Subprograms and Parameters
- Lecture 6 - Expressions and Control Structures
- Lecture 4 - Types
- Lecture 3 - Variables
- Lecture 2 - Syntax
- Lecture 1 - Programming Languages
- CS 430 - Programming Languages
- See more...
Twoville

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.
FML
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

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

Tangle is a tool I wrote to help my eight-year-old son think about multiplying through a spatial lens.
Student Gallery
Jesse O.'s scalable vector graphics butterfly. He rendered this in a polymorphism assignment in Introduction to Object-oriented Programming his freshman year. The SVG file was handcrafted!
Recent Posts
SLAI 2021
Madeup

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

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

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

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

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

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

Totally is a tool I wrote to help my five-year-old son think about adding through a spatial lens.
Feeds
Want an RSS feed of these posts? You may want to subscribe only to non-lecture posts. Or maybe you want them all.