# teaching machines

## Wolf Hollow Virus

My children and I just finished reading Wolf Hollow by Lauren Wolk. As I closed the book, 9-year-old Lewis said that books that win awards are always sad. This book won an award. I won’t go into any of the book’s merits. Rather, I will focus on one non-essential part of it that has been […]

## Another Integer Triangle Wave

I’ve across another way to generate a triangular wave. So exciting! Recall from last time that I want to generate a pattern that looks like this: In this example, the period is 10. As before, we can generate a sawtooth wave with some help from modulus: $$y = \textrm{mod}(x, \textrm{period})$$ We can also generate a […]

## Playing Telephone with Google Translate

A friend was playing with the Google Translate API and wrote a game of Telephone. He started with a message in English, translated it to language X, translated it to language Y, and so on, and finally translated it back to English. Sometimes the end result was incredible faithful to the original message, but not […]

## Flat Braid

When all you know of trees is that they have bark and leaves, you view the woods as a background to the more interesting foreground activity of a jog, or a campout, or a proposal. But when one knows the trees, it’s hard to not stop every few feet and shake hands with some old […]

## Integer Triangle Wave

I encounter many of the same problems over and over again. But sometimes enough time elapses between one encounter with a problem and the next that I’ve forgotten how to solve it. I start to doubt my qualifications as a teacher. “That guy can’t even learn. How could we trust him to teach?” I think […]

## Fourlords Field

In a couple of weeks, I start teaching a brand new elective on game development. Students will team up and build a single game throughout the semester. I’ve taught several such courses in the past, but this one has a couple of twists: The games must be locally cooperative. These games are intended to be […]

## Two MPU-6050s

Ugh. After learning how to talk to one accelerometer, I needed to talk to two of them. The MPU-6050 is, for reasons I do not understand, bound to I2C addresses 0x68 or 0x69. In order to put two of them on the same I2C bus, one will have to take on 0x68 and the other […]

## Flying with the MPU-6050

A student and I are working on a hardware project. This is world I don’t know well, and I think the best thing I can do is painstakingly document our every step. Unfortunately, the project started four months ago. I’m a bit late. Our first task was to figure out how to talk to an […]

## Grades vs. Experience in CS1

Every year I like to examine how a student’s prior programming experience correlates with their final letter grade. At the very beginning of the fall semester, I asked my students in our introductory programming course to complete a short survey. In one of the questions, I asked about their first programming experience. Here’s what they […]

## Icosahedron, Part 2

Several hours later, I have now found the difference between an octahedron and an icosahedron. I had been stuck on generating the coordinates of the octahedron. A little reading and experimentation directed my attention to the cube circumscribing the icosahedron. The way I’ve set things up, its vertices are all [±u, ±u, ±u], where u […]