Author: Sean McManus
Publisher: In Easy Steps
Audience: Kids, their parent and their teachers
Reviewer: Lucy Black
Getting kids introduced to code is a current hot topic. But how to do is less often discussed. This book goes ahead and does it - using Scratch, a language designed for kids.
All titles published by In Easy Steps are in full color - and in the case of Scratch which makes use of color this works well, as does the use of its standard page furniture of icons that indicate "Hot tips" and things to remember or to avoid. In this particular volume the side panel are extensively used and only rarely do you get the impression of too much white space.
Other standard features of In Easy Steps books are the use of numbered instructions and covering distinct topics in either one, two, or exceptionally three pages. This means the emphasis is on conveying ideas in a practical way without discursive explanations and discussion. The emphasis is always on "how" rather than "why". Each chapter is identified not just with a number but with a different colour, and in the case of this book there are eleven chapters, each of which covers a lot a ground, but always with a logical progression.
The book opens with a Foreword about the importance of learning to code by the creator of Scratch, Mitchel Resnick, Professor of Learning Research at the MIT Media Lab where this novel visual programming language originated in 2007.
Having delegated the task on convincing the reader that learning to program is a good thing for "everyone, regardless of age, background, interests or occupations" to Professor Resnick, Sean McManus gets straight into Introducing Scratch. He devotes one very succinct paragraph to explaining what programming is and spends the rest of his first page answering the question "What is Scratch, including five reason why Scratch, in which you fit color coded commands together like jigsaw pieces, is easier to use than other programming languages.
The book covers two versions of Scratch - version 2.0 which is the latest and runs in a browser and requires Adobe Flash Player and 1.4 which can be downloaded and installed on Windows and Linux computers. After a page devoted on the differences between the two versions, there's a step-by-step to starting with Scratch on the Raspberry Pi using the Raspbian operating system which includes Scratch 1.4.
In the next few topics of the introductory the chapter we are guided through creating a Scratch account; Using the Scratch screen, exploring blocks, and changing the backdrop. Then in the final four topics we create a first program, save it and then learn to open projects both personal and ones that are shared on the Scratch website.
Chapter 2 covers Drawing with Scratch, introducing the Stage and its co-ordinate system for positioning sprites and then moving on to using the pen. By the middle of the chapter we draw a house using co-ordinates and then introducing directions makes drawing more flexible. The Repeat block and then nesting repeats inside each other to provide loops come next and the chapter ends with Rainbow Painter, a simple but very effective art program.
Chapters 3 to 8 introduce more Scratch blocks and more programming ideas in the context of increasingly sophisticated programs. The level often seems to ramp up quickly and this is partly because each chapter builds on what you already know. This is pointed out in the very first Hot Tip, where it advises that the best way to use the book is to work though the chapters in order. Each of these chapters starts with a page introducing the program you'll create and what you'll learn along the way.
Chapter 3 is a game, Spiral Rider, that uses the drawing skills from the previous chapter and introduces the green flag, the Scratch "Start" button, the idea of variable, and adding and animating sprites. We also learn about keyboard control and Game Over messages.
The next game is Super Dodgeball and random numbers and copying and deleting sprites are just two new ideas that are introduced. We discover the Paint Editor and its tools and the advantages of vector images, which only Scratch 2.0 supports. Sound is the major new topic in Cosmic Chorus and we also add a title screen.
The ask and answer sensing blocks are introduce in Quiz Break in Chapter 6 and we use the Operator blocks to perform calculations. Chapter 7 is Hangman and lists are introduced. It also an opportunity for looking at graphic effects and using s main game script to manage the overall flow of the game.
Chapter 8 brings together much that you've already learned in Space Swarm, an archetypal arcade game that works best in Scratch 2.0. One new feature, only in Scratch 2.0 is a high score table for those playing the game on the Scratch website.
Chapter 9 is on Scratch hardware projects: Using a webcam, a PicoBoard and the Raspberry Pi GPIO. The short game in this chapter is Going Batty, which demonstrates video motion on a sprite - you wave your hand vigorously to shoo them away.
Chapter 10 has seven short games and the final chapter is called Making and sharing projects but also covers how to deal with common bugs and has a list of resources. By now you'll be ready to join in with the wider Scratch community and continue making your own fun and games.
We've look at several programming language titles in the In Easy Steps series on I Programmer and often concluded that the format doesn't mesh with the program language being covered. In this instance the format fits the topic and the result will appeal to adults as well as to children. Scratch is a language I would recommend for kids wanting to get into coding and this book is highly recommended to enable them to get the most out of it.