Adventures in Coding

Author:  Eva Holland & Chris Minnick 
Publisher: Wiley
ISBN: 978-1119232681
Print: 1119232686
Kindle: B01CWLC9GC
Audience: Young people who are new to programming
Rating: 4.5
Reviewer: Lucy Black

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.



Machine Learning and Security

Author:  Clarence Chio, David Freeman
Publisher: O'Reilly
Pages: 386
ISBN: 978-1491979907
Print: 1491979909
Kindle: B079C7LKKY
Audience: Readers wanting novel approaches to security
Rating: 3
Reviewer: Mike James

AI and security is a natural, but difficult, match.

Core Java for the Impatient

Authors:  Cay S. Horstmann 
Publisher: Addison Wesley
Pages: 512
ISBN: 97801321996329
Print: 0321996321
Kindle: B00SYPYMFW
Audience: Smart programmers wanting in-depth coverage
Rating: 4.8
Reviewer: Mike James

The key to this book is the word "impatient" in the title. W [ ... ]

More Reviews


Last Updated ( Friday, 29 July 2016 )