Until I re-retire in another three months, I’m teaching an Open University first year technology course that covers the gamut of information technology from programming through online social issues to things that affect the developing world. A lot of the programming uses a specially developed system called Sense, based on MIT’s Scratch system and, in turn, built over Smalltalk (which I also still use for a variety of tasks).
Sense is an object-based system with communication between modules based on broadcast messages. Learning how objects can respond differently (or not at all) to specific messages is part of the challenge the students face, especially if their experience is around something like C++ or Java.
Some of the practical exercises with Sense involve using its interface to RSS, with programs both writing (or updating) a feed and consuming the feed. And we’re about to go into a series of online meetings in a Google Chat. As part of the coursework, they evaluate the strengths and weaknesses of different communication channels, and this is an interesting learning outcome from an otherwise unrelated exercise. Also, they should have running some software which they’ve developed to share, via RSS, indicators of each other’s presence status. This is expected to work by lighting LEDs on a Sense-linked Board. While some students cope with this well, others are challenged by programming and the Sense Board itself isn’t foolproof. The USB link doesn’t always work as it should.
So in the course of the day I’ve developed an alternative that uses on-screen displays rather than the LEDs. Agile programming I suppose: start with an idea, build it a bit at a time, and when I thought nearly finished find a quite large snag. The snag arose because each person present needs to be able to signal their own changes of status and I’d only built that into my own object – if in doubt, program symmetrically, and I forgot that rule.
It’s difficult to test anything that depends on an external RSS file because testing is likely to pepper it with incorrectly formatted test messages. So I’m patting myself on the back because, in its first real test with one of the students remotely online, it appears to work correctly!
• YouTube video: TU100: Sense and the SenseBoard, a guided tour of the SenseBoard, Mike Richards, Open University, 13 Nov 2009
• Open University offers up hardware to coding students, Duncan Geere, Wired, 14 Jun 2011
• Scratch, Massachussetts Institute of Technology Media Lab
* Working with others (2) will be about something quite different and will appear shortly