teaching machines

Unity + Git + GitHub Desktop

In this class I ask you to host your games on GitHub. This will allow you to share files and minimize damage when something breaks in your project. Follow the setup instructions below to create a remote repository on GitHub and tie it to your local Unity project. Remote Repository on GitHub We first need […]

CS 318 Lab 3 – Core HTML Cont’d

Dear students, When I think about my favorite and most memorable learning experiences, my high school Spanish classes immediately come to mind. Mrs. Lee did a fantastic job of shaking up the classroom. Her primary vehicle for teaching was a series of little games we’d play to learn and practice the vocabulary. HTML, too, is […]

CS 330 Lecture 4 – Shell Scripting, Part 3

Dear students, Okay, let’s really get around to writing these shell scripts this time: Send files to limbo/recycling bin, rather than hell/non-existence. Send a mass email. Upload a local file to a web server and let the world see it. Let’s consider the shell as a programming language by discussing the following questions: What’s the […]

CS 330 Lecture 3 – Shell Scripting, Part 2

Dear students, We will continue to work with the shell, a world between worlds. A place full of dead mice. Let’s start with a reading review: What does it mean for a directory to be executable? Write a command to run program place, reading from file bets and appending its output to file log. What […]


Two days before the semester started, I had one of those first-day-of-teaching nightmares. Sure enough, my wardrobe malfunctioned. This dream was probably inspired by my real pair of pants that had lost a button. When I told my wife about the dream, she offered to fix the pants. I told her the button was on […]


There’s something magical about wooden crates. Here’s a little program that recreates that magic on a small scale by subtracting away some triangular prisms from each face of a cube: I printed the model in wood filament, and I can almost see a miniature dock worker sitting on it and eating his lunch: A miniature […]

CS 318 Lab 2 – Core HTML

Dear students, Today we meet the core elements of an HTML document. The folks we meet today will stick with us the whole semester. They will help us give a coarse structure to our information. Before we meet them, I want to spend a moment helping us prepare for the oncoming complexity. Suppose you wrote […]

CS 330 Lecture 2 – Shello

Dear students, Let’s start with some quick review questions. Discuss these questions and their answers with a neighbor. If you don’t talk to someone about these, you fail the exercise. Java : methods :: shell : __________ What do strings look like in a shell script? Suppose I have username and domain variables. How do […]

CS 491 Meeting 1

Dear students, Welcome to CS 491: Game Development for Learning! I was recently reading about a software developer who was trying to teach his 7-year-old to code. I was reading it because I too had a 7-year-old and 5-year-old that I was trying to teach to code. What struck me about the article was that […]

CS 330 Lecture 1 – Main

Dear students, Welcome to CS 330! Think of a big graph, each of whose nodes is one of the many programming languages that have been invented. This class is not about those nodes. The graph also contains a node representing you. This class isn’t about you either. If it were, I wouldn’t be talking as […]

1 2 3