Grandma Radially
My Stella homework never saw the light of day this semester. Students were to implement a kaleidoscopic drawing application. Pixels plotted in one wedge were mirrored around the radial axes of the image. I felt that I would have had to provide too much scaffolding code for students to feel ownership over the project, so […]
Not Tree
Hoffman Hills is a park 30 minutes west of me. Some people like to trek up its meandering trails to an observation tower and soak in the fall colors from the surrounding countryside. I prefer to visit the not-tree:
Landing in the Credits: Stories from Game Makers
I’ve been asked to serve on a panel at a GEEKCon that some folks at my university are putting on. The title is Landing in the Credits, and the panelists are students and alumni who have built games. I share here some notes on my contributions as moderator. Here we are at GEEKCon 2017 celebrating […]
Spec Adventure
The last few weeks of our introductory program class focus on objects. For a lab exercise, students design a Room class to support a text adventure game. Each Room has a description, four Room neighbors, and whatever other state the students need to support their interaction. One of the students designed an adventure that featured […]
CS 1: Lecture 36 – Unit Testing
Dear students, Today, we examine one of the less glamorous aspects of writing code: testing it. There are three big reasons to write systematic tests of your software: To make sure that your code does what you think it does. To expand your thinking into situations outside your normal parameter ranges and workflow. To ensure […]
Manual Bugs
Last October, I ran across this blurb in an article about the shooting in Las Vegas: As a software developer, the highlighted sentence puzzles me. As a human, the highlighted sentence puzzles me. The implication is that the report was incorrect because it was made by a human. Software is also made by humans. In […]
Center Bug
How do you teach elementary schoolers to programmatically trace a circle? Not with parametric equations involving sine and cosine, but with a turtle. You set them on its back, put the reins in their hands, and have them call out orders. The turtle only needs to know two commands: move and turn. Interleave these commands, […]
CS 1: Lecture 35 – Implementing a Growable Array
Dear students, Today, December 6, is National Growable Array Day. We will celebrate growable arrays everywhere by growing one of our own growable arrays, right here, in our classroom. I hope you wore your festive gear. Behind every growable array is an plain old ungrowable array. When that ungrowable array gets filled up, a new […]
CS 396: Meeting 13 – Innovative Computer Software
Dear students, Today we welcome John Huss of Integrated Computer Solutions as our guest. John brings us the perspective of working for a small company. You’ll have to excuse me for using this class as an opportunity to reunite with old friends. John is a friend I haven’t seen since 2003. He and I were […]
CS 145: Lab 12 – Splatbot
Welcome to lab 12! If you have checkpoints from the last lab to show your instructor or TA, do so immediately. No credit will be given if you have not already completed the work, nor will credit be given after the first 10 minutes of this lab. In this lab you will create a robot […]