teaching machines

The Before Loop

My students last week invented the “before” loop. We won’t talk about loops in class for a while yet, but they waste no time in accidentally spawning them in unexpected ways. See their latest cleverness:

Checking Slack Participation with Ruby and OAuth2

A couple of years ago, a student asked me if I thought MOOCs were going to make universities obsolete. I said no, because in my experience of taking MOOCs, one thing that didn’t scale was the number of people answering questions in the forums. No matter the class size, there seemed to be about 5-10 […]

Job-shadowing Mr. Kurt

Today I job-shadowed Mr. Kurt, a 4th and 5th grade teacher at the Chippewa Valley Montessori School. I am not looking to become an elementary school teacher. I just wanted to see how someone spends the entire day with such undeveloped brains and bodies. As a university professor, teachers of this age group instantly have […]

Rule #37 for Teaching Computer Science

Never use placeholders. For example, never tell students to change directories with a command like this: cd /home/USERNAME Students will report back that the directory /home/USERNAME did not exist, and they were therefore not able to do their homework. Do not describe an image file format to students like this: P1 WIDTH HEIGHT … Students […]

Code Scrambler

Some of the most engaging learning I’ve ever experienced was in high school Spanish class. What magic did Mrs. Lee possess that made instruction so enjoyable? She had us play countless games. I try to emulate her foreign language classroom when I teach folks a new programming language and am therefore always on the hunt […]

Blocks as a Gateway

Since starting work on Madeup, I’ve been trying to read everything I can on procedural design. My most recent discovery is John Maeda’s Design by Numbers. The author makes it his mission to teach programming principles by drawing on a 100×100-pixel canvas with a very simple language called DBN. In chapter 6 of his book, which discusses […]

The Shallow End of Languages

Learning a foreign language for the first time? Start with Esperanto: The results of these studies … demonstrated that studying Esperanto before another foreign language expedites the acquisition of the other, natural, language. This appears to be because learning subsequent foreign languages is easier than learning one’s first foreign language, whereas the use of a grammatically simple […]

Bruner on the Power of Writing and Mathematics

I’d seen Jerome Bruner’s Towards a Theory of Instruction recommended somewhere, and my library had a well-worn copy of just waiting to be read. Bruner himself is apparently also well-worn. He was born in 1915—and is apparently still teaching! Much of what Bruner has to say revolves around active learning. Probably this book was more revolutionary for its […]

Flipping my classroom with Ruby

I’m trying something funny in my mobile software development class. I scheduled it in the computer lab, not a lecture hall, and students are going to have to teach each other some things they prepared before we meet. Here’s what I’m telling them: You will do some preparation before each class, by watching a video […]