Learn to Program with Scratch
A Visual Introduction to Programming with Games, Art, Science, and Math
Learn to Program with Scratch (No Starch Press) is a new book by Majed Marji that focuses on programming concepts, using the Scratch environment as a means for teaching them. It is thus one of a few books of its kind and a very welcome addition to our library.
The book’s subtitle A Visual Introduction to Programming with Games, Art, Science and Math reveals its strongest point: it contains a wealth of original and fun examples, many of which are interdisciplinary, linking to concepts mainly from Mathematics and Physics. Also provided are suggested extensions, new projects and “theoretical” exercises for assimilating certain programming concepts. There are even some advanced bonus applications for those with greater demands.
Marji starts off with quite a deep dive, which is not unusual in many programming books. The examples in the first few chapters are not trivial but short explanations are provided where necessary. This approach provides a practical overview of the most important aspects of the programming environment. All the concepts are gradually explained in depth and, by the end of the book, the range of concepts covered is truly very wide. It is important to note that the book is based on Scratch 2.0, which has many new capabilities compared to its previous version.
For computing teachers this book constitutes an invaluable resource. It provides ideas and examples for teaching programming, suggestions for the pupils that might like to take a step further, while its interdisciplinary flavor offers links to other subjects, as well as material to be used for extra-curricular projects and activities. Most chapters are rather self-contained, so it is possible to omit some of them or follow a different ordering.
A point that needs attention is the book’s overall level of difficulty. It is mentioned in the introduction that the book is addressed to anyone that wishes to explore computer science, ranging from middle school pupils to college students. In reality, even though its exemplary typesetting makes the book a very pleasant read, many of the examples are quite advanced for young novice learners, especially if they try to implement them without guidance.
To sum up, this is a book that brings fresh ideas to teaching programming with Scratch and it accomplishes its goals to a great extent. It takes full advantage of the programming environment’s capabilities and is not limited to the usual examples that employ Scratch as a simple tool for children’s animations. It covers a wide audience and it is certain that it will serve as an invaluable tool for computing teachers that need to enrich their classes.
The book is a review copy to Computer Science Teachers Association in Chios by No Starch Press Publishers.