|Adventures in Coding|
Author: Eva Holland & Chris Minnick
Do you need a book to teach you Scratch?
The whole point of the Scratch language and environment is that it is supposed to make programming so easy that it is obvious. However, even though it is easy to program in Scratch many do need some guidance, if only just a little. Hence there is an opening for a book, but it isn't easy to work out exactly what is required. Obviously a traditional syntax-oriented text book isn't going to work with the audience that Scratch is aimed at - if you can read such a book then you can probably graduate to C or Python and skip Scratch.
This particular book isn't a traditional approach to programming, but it is a fairly dense 300-page read. There might have to be some help from a grown up if the learner is a child.
The book starts off from the very basics - what is Scratch and how to get started with it. This involves signing up to the Scratch website as it is an online development environment. The first steps are all to do with manipulating sprites, which is a really good way to discover what programming is about without having to go into technical things like variables.
The book employs lots of examples and ideas are introduced as they are needed to help develop whatever project is being discussed. By Adventure 3 we are starting to need more complex flow of control and loops and conditional make their appearance.
In Adventure 4 we meet sensor blocks and events. It always comes as a surprise to me that events are such a natural part of any attempt to make programming easy. In the real world, events in general programming languages are difficult, but they seem to be a natural thing to introduce early in a teaching language. The reason, of course, is that events are part of any graphical UI and hence you can't really have a block programming language that works with sprites and onscreen graphics components without events. However, this doesn't get away from the fact that what the beginner is building is an asynchronous program. This wasn't the case in the early days when languages such as Basic didn't need events and were nearly always synchronous.
Adventure 6 introduces more traditional topics for beginners, such as variables and lists. From here things become ever more sophisticated. This isn't unreasonable, as long as the reader has graduated to thinking more like a programmer. Adventure 7 is about operators; 8 explains pixel graphics, 9 explains how to create your own blocks - i.e. how to create functions/subroutines and 10 brings the main part of the book to a close with sounds and music.
The final adventure simply tells the reader about the Scratch community and how to share projects. There is a final section on using Scratch with the PicoBoard for physical computing - a really good way to move on from just programming games and graphics.
At the end of reading the book and trying out some of the Adventures with a suitable victim, I'm not sure that the book is going to be of use to everyone. You have to occupy a middle ground of being good enough to want to learn more, but not so good that you can figure it out for yourself. The presentation is motivating and there are lots of colorful screen dumps showing how the programs fit together - literally fit together.
I think that this would be a good resource for keeping a beginner motivated and it is ideal for a parent or instructor not quite sure of what they are doing in the world of programming.
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.
|Last Updated ( Friday, 29 July 2016 )|