Teaching retroprogramming


Filed under Mainstream coverage, Musings;
3 comments.

The annual Beloit College Mindset List, which outlines the world in which the incoming class of college freshman grew up, indicates that for members of the class of 2014, “The first home computer they probably touched was an Apple II or Mac II; they are now in a museum.”

Fortunately, for students in Bletchley, Milton Keynes, England, their experience with retrocomputers is more recent — and eminently practical. BBC News reports:

As a former teacher, I can fully get behind this classroom curriculum. It wasn’t long ago that I suggested a lab of Apple II computers could be an effective and modern learning tool. Although the computers featured in this video are not Woz’s brainchild, they are its contemporaries and teach many of the same lessons my proposed lab would. As one student said, “The old machines have a lot to teach us. They run a lot slower, and you can actually see the instructions executing in real-time.”

What I hope the students learn is how to make the most of limited hardware and software resources, though this quotation makes me wonder if they missed that point: “It makes you a lot more efficient, and you think more about your code, because it’s harder to type it all in.” Although the arduousness of input can indeed be a powerful motivator against error, I don’t think it’s a programming environment that one need tolerate on even a classic computer. The Apple II worked around this limitation with Beagle Bros‘ excellent Program Writer for Applesoft BASIC. Such utilities don’t encourage sloppy programming but instead improve the rate at which you can learn from your mistakes, whereas modern machines and their gluttonous resources permit sloppy programming that would never fly on a computer whose memory is measured in kilobytes.

This classroom’s demographic reminds me of the demoparty I attended this summer, where most attendees were younger than the computers they were hacking. KansasFest likewise has an increasingly youthful attendance, with Apple II users still in or recently out of undergraduate programs. This next generation of retrocomputing enthusiasts has great potential to apply modern programming techniques and structure to classic design. For example, put these students into a limited-time programming contest, and you’d have HackFest. I wonder how they would fare?

I couldn’t help but take umbrage when the reporter says that the student’s work almost looks like a “real video game”. Of course it’s a real video game! Software doesn’t need rockstar programmers or cutting-edge technology. The original versions of Lode Runner and Oregon Trail have more staying power than any jazzed-up modern adaptations. I wouldn’t be surprised if these kids are the next programmers to recapture the fun and wonder of these classic games.

Because BBC is awesome, their story also has one of their own news reports from Oct. 17, 1986, that showcases the computers of the day, including the Apple IIGS. That video is not embeddable, so I encourage you to watch it on their site.

(Hat tip to Slashdot and Mitch Wagner)

  1. I hope they aren’t using 30-year-old science textbooks!

    Seriously though, bringing it down to basics to help kids learn programming is sure to be easiest way to learn.

  2. Unfortunately, there aren’t many modern textbooks that provide BASIC instruction. But you bring up a good point. I wonder if all the class materials are original?

  3. BTW, this approach to programming isn’t all that different from what Ed Fries did when he created an Atari 2600 version of the Microsoft Xbox game Halo:

    “Being forced to work within those constraints makes you really think hard about the problems you’re solving, and you can come up with some really elegant, beautiful solutions,” Fries says. “If you have all this memory, you just never would do that. You’d just write OK code and get away with it.”