I’ve been teaching Scratch to my students lately, and it’s made me remember just how much I enjoy dabbling with programming. I’m really not much of a code monkey, but I do enjoy writing programs, telling the computer what I want it to do, and then having that feeling of mastery when it actually does what I tell it to do!
I heard a lot about Scratch before I actually started using it myself… people kept telling me how good it was, but for some reason I never really got around to trying it myself. When I finally did take a look at it, I couldn’t believe I waited so long to check it out! It’s a GREAT piece of software that all kids should spend some time learning how to use. I’d encourage you to NOT make the same mistake I did, and wait so long before looking at it.
I taught myself to write computer programs back in the 80s on a second hand Commodore Pet computer. It used a form of BASIC, the same language used on the original Apple II computers, and I thought learning to program was the coolest thing ever. Being able to write instructions into a computer and get it to do stuff was a real buzz for me… a geeky buzz to be sure, but a buzz nonetheless.
Over the past 20 years I’ve taught quite a lot of programming to children and without fail it’s something they get a real kick out of. They really seem to engage with the big ideas of programming – problem solving, thinking mathematically and using logic and reasoning. It’s the practical application of those ideas and the creative thinking required to solve authentic problems that forms the basis of a truly engaging learning experience. While I don’t believe that everyone necessarily needs to become a computer programmer, I do think that everyone would benefit from learning the basic skills and mental gymnastics required to write simple computer programs. I’ve found it to be an incredibly useful skill, and the underlying understanding it gives into computers and how they do what they do has come in really handy over the years.
Scratch takes all of the essential programming constructs like sequencing, conditional branching, control structures, data manipulations, etc, and wraps them in a very friendly, very easy to use environment that even the youngest students can use with just a little knowledge. It’s quite intuitive to learn and you can do simple things fairly easily, yet there is really no limit as to how far you take it. Don’t be like me and hear about it but do nothing… download a copy now, give it to your kids and watch the magic happen.
For this year’s K12 Online Conference I did a presentation about Scratch, called Teaching Kids To Think Using Scratch. It’s trying to squeeze a lot of stuff into a small space, since the presentations are capped at 20 minutes, but I think it’s a reasonable introduction to some of the key ideas behind Scratch.
As you can see in the unscripted footage of the kids towards the end of the video, they talk about solving their own problems and figuring out how to work things out for themselves… to me this is what real learning should be all about. Watch the clip of the two girls working out what the variables should be in order to make the sprite move exactly the way they want, the engagement on their faces, and the expression of triumph when it finally works the way they want… as Lexie says, “Scratch brings out your inner awesomeness!” I think she’s right.
There was so much more I wanted to include in this video, but I simply couldn’t squeeze it all in. Instead, I’m going to add some further resources at www.chrisbetcher.com/scratch, so drop by and take a peek at what’s there (It’s a bit of a work in progress, but it’s an open wiki so feel free to add anything you think might be useful!)