The first time I heard of Scratch was in the summer of 2012, when Google announced a “Google summer of code” program for children on Scratch programming. Then, I tried to persuade some neighbourhood children to go for it because my daughter was too young for it. So, when I saw “Learn to program with Scratch” by Majed Marji available for review, I decided to give it a try.
Scratch is a visual programming language designed by MIT lab for children and beginners to learn programming. An initial trial 2 years back did impress me, but when I read this book, I realized that there are so many features that makes it really enjoyable to learn programming. With Scratch 2.0 (the web version) that was released sometime back, there are more possibilities. This book is based on this version.
As I write this review, I have to keep reminding myself that I am not reviewing Scratch, but the book that teaches Scratch. Scratch is awesome anyway. Let us look at whether the book has done justice to the goal of Scratch.
+ + +
- The book has lots of visual elements. This makes it easy to understand.
- Several examples to illustrate each command and its options are given throughout the book.
- One or two projects with gradual guidance to the code in each chapter (with chapter scripts available online), supporting resources and solutions to the numerous interesting questions set after each chapter.
- Small game projects have been designed and discussed in each chapter, which help to sustain the interest. For instance, by the end of the first chapter, one gets to create a game. This will definitely motivate the reader. Here, I show the simple game that can be created by page 15, with two sprites (objects) and minimal code. Just imagine how it could motivate a beginner, especially a child. (The scoring part is hte only addition that I have made with just three lines of code).
Rules: The objective of the game is to not let the ball touch the pink floor. Moving the mouse to the left or to the right will move the blue paddle correspondingly. If the ball touches the pink floor, the game stops. Click on the green flag (in the top panel) to re-start the game.
– – –
- I found it very verbose at places. When it is visual, the verbose part seemed to be redundant. Or is it that a reader can choose according to his/her learning style?
- Two kind of readers may pick this book. One, the absolute beginner to programming and Scratch. Two, the beginner to Scratch, but not to programming. The book seems to talk to the first and forgets the second kind. For me ,it was boring to go through what recursion is and other such programming basics to just find out how it is done in Scratch or is it done in any different way in Scratch. I would have preferred highlighting or some means used to guide the second kind of reader through a different path.
. . .
- I intend to give this book to my 10-year old daughter and check what she feels about it. As she is new to programming and to Scratch, she may be able to test its effectiveness better.
A neat introduction to Scratch programming for wannabe programmers.