I came across my Raspberry Pi at the weekend, plugged it in and started it up and found myself playing around with SCRATCH. By co-incidence, my daughter came home from school a few days later and told me she had started using SCRATCH at her High School. As we were sitting watching TV together, she sat next to me on her laptop and started a new SCRATCH project. 20 minutes later I was playing a basic Pacman game she had made, which even included an animated Pacman created be her. As I was watching her build the game, it was clear that she had a plan in her head of how she was going to build the game, (keyboard movement, collision detection, scoring..) and she was naturally applying an iterative design process by constantly testing each new code addition.
This made me think back to what it was like for me when I first started to teach myself programming in the early 80’s, with few books, no internet and certainly nothing like SCRATCH kicking around, it was very much ‘teach yourself’. I remember buying computer magazines with audio cassette’s stuck to the front, full of games, and spending hours upon hours typing out the complete source code for a game in the magazine into the computer, only to find it didn’t work, then spending hours trying to track down the bug, usually my own typo. I wonder how quickly my programming would have progressed if I hadn’t had to spend time doing all that and could just get down to the ‘real stuff’.
SCRATCH can really accelerate grasping the concept of ‘computational thinking’ and help take those first few steps faster than we did in the 80’s. Although I am of the opinion that the 2D environment is not very inspiring in relation to the quality of media/graphics which youngsters are exposed to now. But what interests me is the step from these visual programming tools to ‘real’ coding. There must be a better way of making the transition from visual programming to text programming, other than picking up the pupil from SCRATCH and dropping them straight into a text based language. I’m not talking about a code generator for a SCRATCH project, perhaps something like SCRATCH which gradually removes the visual metaphor and exposes the code behind it. Interesting…. so I’m going to see what is out there already….