There’s a cool program that’s been around for a few years made by the MIT Media Lab called Scratch. It’s an interface for creating basic animations with sprites and sounds. Rather than writing scripts using code, the user connects ‘blocks’ to program the sprites to move around the stage. It’s like being able to program without having to learn the syntax of a specific language. Not surprisingly, there’s a lot of interest from educators (both secondary and tertiary level) in the software, as it makes learning about computer programming much more accessible to students.
Enchanting is a modification of Scratch that allows you to program the Lego NXT robot using the same interface. I’ve been involved as a contributor over the past few months, and we’re using the software with the year 10 students this semester at the John Monash Science School. The reason that we’ve opted to use the Scratch-based interface for controlling the NXTs is that it more closely resembles a real programming language when compared to the Lego Mindstorms software.
Here’s a comparison showing the same program written in both interfaces… you can see that Mindstorms is quite blinged up with pretty pictures and symbols, but lacks any resemblance to a control structure that you’d find in a typical programming language.
The students took to it very well, and I’m currently working on another mod of Scratch that will allow the students to simulate natural systems using the same interface, similar to the core concepts of Star Logo TNG. The Enchanting team are currently porting the software to the BYOB mod of Scratch, which provides the functionality to create custom blocks (functions) and list data structures.