Outils pour utilisateurs

Outils du site


issue82:critique_litteraire

Every review of a book about Scratch starts by describing what Scratch actually is, so I'll get that out of the way in one quick sentence: Scratch is an educational programming environment aimed at kids, in which computer programs are constructed from simple building blocks slotted together like an on-screen jigsaw puzzle. What's more important, at least as far as this book is concerned, is that there are now three versions of Scratch that you might choose to use on your computer.

Installing Scratch from the Ubuntu repositories will get you version 1.4—a locally installed copy that can be used offline. More recently, version 2.0 has been released which uses Adobe's Flash plugin to run inside a web browser. There is also an experimental offline version of 2.0 which uses Adobe AIR as its host environment, but Linux support for AIR was discontinued some time ago so this version will run on only some 32-bit Linux distributions. In practical terms, therefore, Linux users have a choice between the offline 1.4 release, or the online Flash-based 2.0.

Older editions of this book (see FCM#68 Book Review) covered only 1.4. The latest version covers only 2.0. In practice, the differences are mainly in the layout of the user interface—most of the functionality remains the same between the two versions. This affords the publishers the great option of providing copies of Chapters 1 and 2 from the older edition of the book as a free download, so this book actually works for both releases. Be aware, however, that the replacement chapters aren't simply a download away, as the book's introduction implies. Instead, you have to request them by emailing the publishers at an address that is revealed only in the “Super Scratch Educator's Guide”, which can be downloaded from the website, and is a worthwhile addition in its own right.

The website also provides various resources that are used throughout the book to download as a single zip file. Again, make sure you download the correct version, as the 2.0 files are not backwards compatible with a 1.4 Scratch installation. Once you've got past the administrative issues of installing or loading Scratch, getting the right versions of the introductory chapters, and downloading the correct resources, you can finally get your teeth into the book itself. Proverbially, we're told that we should “never judge a book by its cover”, but in this case you really can. The cover is bright and colorful, with an almost rubbery matt lamination that feels great in the hand, and is indicative of the attention that's been paid to the design and printing throughout. Scratch relies on shapes and colors to identify the building blocks that make up each program, so having the whole book in full color makes it easier to match the example code to your development environment.

There's a comic strip that loosely connects the chapters which also benefits from the color print, presenting vivid and exciting vector panels that will help to capture the attention of younger readers. The plot – what there is of one – won't satisfy adult readers, but in my inexhaustive testing, it went down well with kids around ten years of age. The comic is a small enough part of the book that older teens or adults can easily skip it without losing out on anything important. Actually writing code using Scratch is dealt with throughout the bulk of the book by creating a different game in each chapter. The games tenuously link to the story in the comic, but otherwise each chapter could be treated as a stand-alone tutorial for writing a game in Scratch. The variety of genres covered by the nine games is impressive, ranging from a side-scrolling driving game, through a logic puzzle, and culminating in a beat-em-up.

Each chapter starts with a very brief overview of the Scratch topics that will be covered, and a description of the game, but from there it's straight into the code. The instructions are clear and concise, and are presented in callout boxes that sit alongside the relevant part of the code. My one criticism – and it's aimed more at Scratch itself than this book specifically – is that presenting screenshots of completed Scratch scripts can encourage kids to simply copy the blocks verbatim, trying to match their jigsaw to the picture without really understanding what each part does. This book doesn't take the time to build any scripts up bit-by-bit, but rather provides finished scripts, albeit with copious annotations. This isn't necessarily a bad thing, as it allows younger children to begin coding even if they don't understand the underlying concepts. For older kids, however, a little additional adult guidance (and there are some good suggestions in the downloadable Educator's Guide) may help to move them beyond simple copying and into the realms of real programming.

One concern I had before reading the book is that it's been translated from a Traditional Chinese language version. I'm pleased to say that the translation is excellent, and not once did any of the prose feel forced or badly phrased. Although it's been translated into American English, there are actually very few Americanisms in the book, making it appropriate for both sides of the Atlantic.

Overall I feel that this is an excellent book for introducing a child or young teen to the world of programming, and, comic plot aside, would even be useful to adults with no prior experience in that area. A little extra help may be needed to help younger kids to understand how the individual building blocks relate to the finished game, but in avoiding too much detailed explanation, the book does manage to escape the descent into tedium that can often affect more worthy programming introductions.

issue82/critique_litteraire.txt · Dernière modification : 2014/05/03 18:10 de andre_domenech