I’ve written before about Scratch, a teaching platform developed by MIT to introduce kids to the art of programming. My son has been playing around with Scratch for over a year and although he still enjoys it, he’s showing signs of needing to move to the next level, a ‘real’ programming language. I decided that Python, being one of my own favourite languages, would be an ideal next step, particularly when I discovered PyGame, a Python library based on SDL.
Using Pygame with its similar problem domain to that of Scratch would, I figured, make the transition to a grown-up platform easier, and so it has; concepts such as sprite, coordinates, animation etc. are common to both. I took him through the “Pummel the Chimp” tutorial, expecting his young eyes to glaze over within 10 minutes, but no, a hour later he was still engaged and learning. Why? He already has a deep understanding of programming, particularly object oriented programming, all thanks to Scratch.
Most of this knowledge he acquired without any help for me, I simply introduced him to Scratch and explained one or two concepts (variables and messages/method calls) which he initially had trouble with, the rest he picked up from looking at other Scratch projects and from writing his own.
So if your kids (or even you) have an itch to learn the essence of programming in a fun and effective way, then Scratch it.
Have you looked at Alice? I have two boys and they have been a little reluctant to really engage in the programming thing and I havn’t pussed it for fear that if I push to hard …
However, they love StoryTelling Alice (STA). With STA, they have clearly learned the concepts of iterative programming, encapsulation, and general object programming.
I will check out Pygame… thanks..
btw, I love your blog.
johnmwillis.com
@John
Yes, you’re right, letting kids explore programming at their own pace seems to work best. I’m going to play this by ear, maybe a hour a week this summer, see what happens, but so far so good, especially when I told him about this, http://www.toolness.com/wp/?p=52 ; being able to create flash games and share them with his friends via his blog, now that really got his attention!
I wasn’t aware of STA, looks like it might be a good alternative to Scratch for my daughter, who unlike her brother hasn’t shown much interest in Lego games (such as Lego Loco) which were the vector that led him to the very Lego-like Scratch (which Lego sponsor).
Keep up the excellent “clould” coverage over on http://www.johnmwillis.com/
Tom
Looks like I’m not the only person who thinks Python plus PyGame would make a good kid-friendly teaching platform, see http://www.manning.com/sande/
Tom