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.
- 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 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.
- Heart Knot
- Day 5: Lasercut Design
- Day 4: Knots and Functions
- Day 3: Foldables and Loops
- Guide 2
- Day 2: Turtle Geometry and Curves
- Guide 1
- Day 1: Frankenshapes and Polygons
- Twoville at Bridges Math Art 2021
- Fabrication Summer Camp: Day 5
- Fabrication Summer Camp: Day 4
- Fabrication Summer Camp: Day 3
- Fabrication Summer Camp: Day 2
- Fabrication Summer Camp: Day 1
- Perseverence Logo
- Dittos in Array Literals
- Twoville Limerick
- Rotating Checkerboard
- See more...
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.
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.
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.