I started learning programming in eighth grade. It was on my school’s first Apple II and the program that most sticks in my head was a short BASIC routine that had a small square bouncing around and off the edges of the screen. I dove into BASIC and enjoyed it, learned some FORTRAN and Pascal in college, and have since picked up bits and pieces of other programming languages along the way … never quite mastering any of them. The programming I’ve always done has always been text-based, and I’ve often wondered if my interest in coding might have been stronger given some of the more advanced and kid-friendly offerings of today.
Take, for example, Scratch. It’s a graphical drag-and-drop programming tool that takes out the risk of syntax errors. Just removing that little bit of frustration alone would have been an extremely welcome thing to me. I know that much of learning a language is finding the errors yourself, drilling down into the code to find where you’ve made your mistake. But I don’t know that many kids (or adults!) who enjoy that part of the learning process…. Most kids I know want to see results. My experiences just with the Lego Mindstorms robotics kit tool, NXT-G, have shown me that if you give kids a tool that hides the complexity and offers a building-block style of putting together a program, well, you’ve got a winner.
That’s why I’m so impressed with a new release from No Starch Press titled Super Scratch Programming Adventure (SSPA, for short). SSPA offers up 10 Stages (chapters) that use a comic book format to teach programming with the Scratch programming tool. Millions of kids have used it, and the simplicity of the tool is that it sneaks in real programming concepts and techniques in a fun, colorful manner.
It doesn’t hurt that Scratch is 100 percent free to download and use, either! Kids can install it on Windows, Mac, and Linux machines after downloading from scratch.mit.edu. It’s a low-demand application that will run on even older computers, so schools don’t have to worry about having the latest-greatest technology in place to use Scratch.
But let’s talk about the book. While there are many resources on the internet that offer tutorials and sample programs using Scratch, if you want to grab a kid’s attention and teach them something, you’re probably going to find adding in an element of entertainment will get you further than a 30-minute lecture. Kids learn by exploring, and that’s what the book does well. It demonstrates proper usage of the Scratch application, but it never puts up walls and limits kids from exploring and tweaking and even breaking their programs.
I’m including some example pages here of both the comic book format and the full-color programming instructions. As you can see, the colors are bright, the user interface of Scratch is extremely simple and not intimidating at all. I downloaded and installed Scratch on my own computer to follow along with the first few program challenges and I was laughing at how much fun it was to program this way! And I say this with complete sincerity — a person could actually design a fairly complex game with this! With the ability to import your own graphics, collision detection, and sound effects, I could see kids programming some advanced games that are limited only by their imagination.
The book is 160 pages, and it’s typical of No Starch books in that the quality of the paper and cover are something only those of us who read a lot of technology books can appreciate. Both the front and back covers have flaps that can serve as bookmarks, and there’s a great opening section labeled “A Note for Parents and Educators” that is a must-read for parents and teachers — it provides tech details on running Scratch as well as some online resources for help and inspiration.
At the end of the book are three Bonus Stages that provide a bit more hands-on activities (programming activities), a nice tutorial on blending Scratch programming with the PicoBoard microcontroller that has built-in sensors that can be controlled via Scratch (light and sound) as well as push-button, slider controller, and four inputs for additional electronics components to be attached. (This is probably one of the most impressive Bonus Stages in the book, and something I heavily encourage parents and teachers to look into purchasing if they have a child who shows a strong interest in Scratch and/or electronics — it’s $45 from sparkfun.com.) Bonus Stage 2 even provides a couple of game programs that can be downloaded and used with the PicoBoard — students can rip apart the programs to see how the game was made. Bonus Stage 3 provides a lot of online resources, including links to forums, downloadable sprites (the characters and items in your games), and much more.
I’ve included some samples of the comics and the programming training pages, but an overall summary of the story is how Scratchy, a digital cat brought to life from cyberspace by a strange energy beam from the Sun, helps a computer science student named Mitch to fight some bad guys who have also shown up after the energy beam. Scratchy helps Mitch learn Scratch (version 1.4) so he can create programs that will be used to defeat the bad guys — each Stage introduces a mini-game (such as a racing game or a trivia game) that builds on information learned in previous chapters. All programs and supporting files (sounds, images, etc.) are provided as downloads, so all kids will need is the book and a computer. (Internet access is only required to get the files, so students won’t need it to use the book and Scratch.)
If you’ve got a child or maybe even a classroom of students who are wanting to make their own games, Scratch is a great option. Students can find a lot of information on Scratch online, of course, but for structured training that is also entertaining, Super Scratch Programming Adventure will make a great textbook.
I’d like to thank Jessica at No Starch Press for providing a review copy of Super Scratch Programming Adventure.