Author: The Lead Project
Publisher: No Starch Press
Reviewer: Lucy Black
Lots of kids who had their first experience of programming as the Hour of Code may be asking for more – and this book could be the answer.
This colorful book with the subtitle "Learn to Program By Making Cool Games" is part comic strip and part practical instructions for creating programs presented, as befits a graphical language, mostly as pictures.Like the Scratch language itself aimed at kids of all ages.
This second edition covers the browser-based Version 2.0 of the Scratch programming language. For those who prefer to use the earlier version that can be downloaded and installed, the book's website has PDF versions of Chapters 1 and 2 and versions of the book's games for Scratch 1.4.
It is also worth noting that the resources file for the book contains two versions of each of its games. One version is fully finished and playable – and ready for you to add to and extend; the other has no programming and is provided for readers who want to follow the instructions in the book to write the programs for themselves.
If you are an adult who hasn't encountered Scratch before it's worth reading Mitch Resnick's foreword and the Note for Parents and Educators. The point made here that is particularly noteworthy is:
Scratch is designed for play, self-directed learning, and design
and this is a book you can hand over to your kids and expect them not to require help but instead to want to show off their achievements as they produce impressive results.
In view of the publicity surrounding December 2013's Computer Science Education Week when millions of US school kids were introduced to programming via the Scratch-like language Blockly, it is interesting to note from the page about the LEAD project that this is Hong Kong based group – Learning through Engineering, Art and Design that has partnered with MIT Labs since its founding in 2005 and has reached over 1 million students, parents and educators.
As befits a comic, this book has characters and the Meet the Cast page introduces them. Computer Science student Mitch, the human hero is, of course modelled on Mitch Resnick and Scratchy is the cat who lives in Cyberspace. The name of the language isn't in fact a reference to cat behavior but to that of disc jockeys when creatively combining pieces of music using the technique of scratching. The other cast members are the cosmic defenders Gobo, Fabu and Pele and the villains of the piece The Dark Wizard and his Dark Minions, Cosmic Defenders who have fallen to the dark side.
In the initial spread of the adventure Scratchy arrives from Cyber space to help Mitch who wishes programming were easier and this sets the scene for Stage 1: Breaking the Spell. The Chapter Focus box at the top of the page explains what to expect:
Get to know Scratch and learn about sprites and coordinates
a box to its left titled "The Game" outlines what we'll achieve with the program – in this case to make Scratchy dance across the stage.
For adults who are used to instruction manuals with a narrative form this book may come as a culture shock.
You need to absorb information from both text and graphics and, if you are a beginner, absorb new jargon – in this instance the idea of a sprite.
The best way to use the book is in an active fashion – that is get Scratch 2.0 up and running and click around its interface. By the end of Stage 1 the reader will have run their first program, discovered the wait x secs command in the Control palette, and forever command block for continuous looping, the green flag in the Events palette, how to change color in the Pen palette and have been told how to save a file in My Stuff. There's a challenge at the end of the chapter in which Scratchy asks the reader to edit this program to draw different shapes.
Stages 2 through 8 build on this foundation. The comic strip sets the scene, the Chapter Focus and The Games boxes outline what you will learn and what you will add to your growing collection of programming skills. It all comes together in Stage 9 "The Final Fight" , a game in which Scratchy sets out to defeats the Dark Wizard with a special trick that involves swapping between four different sprites.
Stage 10 is an Epilogue and just consists of the comic strip at the end of which Mitch asks “Now what game should I program next?”, some encouraging remarks from the LEAD project and links to further resources.
Overall the book provides is a fun approach to a language that is designed for fun. Scratch is also intended as a educational language to teach programming and here it doesn't succeed so well. Rather than introduce programming concepts in a logical order, it adopts a task-oriented approach in which techniques are introduced as and when that are required to make progress in game creation. Some readers might find this not as good as an introduction that paces itself by introducing concepts in a logical and building order - but if you want fun, excitement and inspiration you can't always do it this way. You might need to step in and provide some background ideas and information - assuming you can get the reader's attention away from the book.
If you are looking for a motivational way of teaching programming to a young beginner then this is recommended.