Scratch Programming Playground

Author: Al Sweigart
Publisher: No Starch Press
Pages: 288
ISBN: 978-1593277628
Print: 1593277628
Kindle: B01LYJQVET
Audience: Kids and adults
Rating: 4.5
Reviewer: Lucy Black

A book that makes Scratch exciting. What more could you ask for?

Of course, we all know that Scratch is exciting anyway but if you are struggling to find ideas to make it exciting then Al Sweigart promises to teach you to program by making cool games. The big problem is that what beginners think of as a cool game has become increasingly difficult to create using simple code. Don't expect some really impressive game that is going to absorb you or your pupil for its own sake. In truth these games are cool because you put the effort in to create them and this is what the book is all about. 

The first thing to say is that I think the cover is great and it's a shame the character doesn't appear in other illustrations throughout the book. I also liked the way the programming blocks were drawn as if they were real functional gadgets. When you get inside there is a lot of reading so be prepared for it. There really isn't any other way to learn how to program.

 

Banner

 

After a first chapter introducing Scratch, specifically Scratch 2, the first game gets going with an animated art project using some sprites. Then comes a Maze Runner where you learn how to stop a sprite running through walls. The next game explains how to simulate gravity and bounces. To demonstrate how to create a "polished" game we then have a version of Brick Out. The next three games are the well known Snake, Fruit Slicer a version of Fruit Ninja and finally Asteroid. The book finishes with an advanced platform game where "advanced" means adding "AI" controlled enemies.  

 

 

Overall, the book is well written, full of humor and puns, and the explanations of how things work are good. It also generally implements things in a sensible way and you aren't going to learn any bad habits or methods from the book.

What surprised me the most is that the book really doesn't focus on teaching the reader programming ideas. For example, whenever I have taught Snake I have been able to use it to explain the idea of a queue - the snake head joins at the tail of the queue and the tail leaves from the head of the queue. In Scratch this isn't possible because the snake is built by defining sprites.

What this book does is to get you to program by explaining the way in which common techniques you encounter in games are implemented - how to bounce off a wall, how to stop a sprite passing though a wall, how to simulate gravity and so on. These are not so much programming techniques as specific game techniques. What we have to hope is that by programming these special topics the general ideas of programming are learned by osmosis. If you are sufficiently practiced then presumably you do pick up the ideas and have fun along the way. 

This isn't a book that will suit every teacher because it doesn't make a fuss about programming ideas such as objects, stacks, data structures and so on. It is motivating and it is exciting, as long as the excitement is in creating something of your very own. If you think you fit into this category then the book is highly recommended. 

Related Reviews

Learn to Program with Scratch

Super Scratch Programming Adventure!

Scratch Programming In Easy Steps

Cool Scratch Projects

 

Articles on I Programmer

A Programmer's Guide to Scratch 2 

 

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Testing JavaScript Applications

Author: Lucas da Costa
Publisher: Manning
Date: April 2021
Pages: 512
ISBN: 978-1617297915
Print: 1617297917
Audience: JavaScript developers
Level: Intermediate
Rating: 5
Reviewer: Ian Elliot
Testing the most web's fundamental language is clearly important...



Discovering Modern C++, 2nd Ed

Author: Peter Gottschling
Publisher: Addison-Wesley
Pages: 576
ISBN: 978-0136677642
Print: 0136677649
Kindle: ‎ B09HTJRJ3V
Audience: C++ developers
Rating: 5
Reviewer: Mike James

Modern C++ who would want to write anything else? Is this a suitable introduction for the rest of us?


More Reviews

Related Reviews

Last Updated ( Friday, 13 January 2017 )