For the last few days we've been doing a stint of short term respite care for a 15 year old (great kid, by the way; he went home tonight). This evening we had some time to kill, and I thought a quick session with Scratch may be fun and eductional. Our 7 year old enjoyed it, I was curious what a 15 year old think.
Scratch is an ambitious project from MIT that attempts to make programming fun and useful for kids. Rather than spending precious time setting up a programming environment, learning syntax or cranking out out-of-touch code (Fibonacci series, anyone?), Scratch gives users near instant access to the fun stuff: making games, music and other cool little projects.
Rather than try to explain all this to our 15 year old, I just brought over the laptop and brought up scratch.mit.edu. When I had last been to the site, you could browse through the creations that fellow Scrathers had made and download the Scratch desktop app to create your own. To my surprise, the folks at MIT have continued to work their magic: the desktop application appears to no longer be necessary. The fun visual coding environment is now just a single click away. There are apparently other important editions in this latest version of Scratch, but no longer needing to even download an environment has to be the biggest improvement.
I clicked on the create menu bar item and we went to work puzzling things out.
Within a few minutes our 15 year had totally gotten it. He understood that Scratch can make games, music and in general be a fun place to experiment. It was impressive to watch him connect the dots between events, actions, conditions, etc. He even managed to point a few bugs in the code that I had missed. After about 45 minutes we had worked up the following little "game":
In the above example, you can move around with the arrow keys and collect up each key by touch it. Whenever you collect a key, the sprite grows a little larger. Hitting space bar resets the sequence.
Considering you start with a single sprite on a blank canvas, that's actually quite a bit of code to develop. (If I do say so myself)
I've come away with this little experience even more impressed with Scratch (not that I thought that was possible). The environment they've setup where users can easily author, share, and remix projects, is truly incredible.
If you're a parent and you're frustrated with the amount of time your kid spends on video games, then you should consider redirecting their energy into Scratch. Let them create, rather than just consume. No other platform makes it so much fun.