MIT’s Media Lab has just released Scratch. Scratch is a drag-and-drop development environment for writing visual programs such as animations or video games. It has a similar interface as StarLogo TNG, also from MIT, but it is much faster and easier to use. Other kid’s programming environments I’ve looked at such as StageCast, AgentSheets, and ToonTalk pale in comparison. StageCast and AgentSheets use a rule-based programming system which is an interesting concept. However I’ve used StageCast extensively, and I find its rule-based programming quickly becomes unwieldy for games of moderate complexity. Also it is so different from regular programming, it doesn’t help students much when they move to a different language like Python. ToonTalk is promising, but currently runs for Windows only, and it is feeling a bit antiquated.
Scratch is great for teaching programming. Writing a program is quick and easy to get students started fast. More complex concepts such loops, decisions, and event-driven programming are made visible. And best of all, variables are made visible which I find to be the most complex concept for a beginner. I’ll be writing some test games shortly and probably soon will show it to my younger programming students. The only thing I can see that it is missing is the ability to make a stand-alone program. You have to run your programs in the Scratch environment.