Today's book review is by guest blogger Patrice Gans, a technology teacher and library-media specialist at Fraser Woods Montessori School in Newtown, Conn. She is a member of the Computer Science Teacher Association for whom she is currently the National K-8 representative, chair of the K-8 task force, and vice president of the CSTA Connecticut chapter. She is also a member of the Connecticut Educators Computer Association.
By guest blogger Patrice Gans
How often do you read the words "fun", "engaging" and "computer programming" in the same sentence? Thanks to the new book Super Scratch Programming Adventure: Learn to Program By Making Cool Games, by The LEAD Project (No Starch Press, 2012), written with the MIT Media Lab, both adults and children will find that learning to program can be an exciting adventure. In classic comic book fashion, from the very first page, budding programmers are catapulted into a fictional world complete with super heros, villans, straightforward dialogue, and an engaging plot leaving readers eager to turn the page to find out how it will end.
LEAD (Learning through Engineering, Art, and Design) is an educational initiative established by the Hong Kong Federation of Youth Groups that encourages the development of creative thinking through the use of technology. "This book highlights the playful spirit of learning to program with Scratch, which inspires young people to apply digital technologies in imaginative and innovative ways," writes Dr. Rosanna Wong Yick-ming, Executive Director, The Hong Kong Federation of Youth Groups in the book's "A Note of Thanks."
Programming, a.k.a. coding, has received a lot of press over the past couple of months. According to the Bureau of Labor Statistics, the United States can expect almost 760,000 new jobs to be created in computer and information technology by the year 2020. In a recent blog post written for the Huffington Post, Aaron Skonnard (CEO and Founder of Pluralsight) spoke to the urgency of teaching children of all ages how to code as a path to economic security. "For all the parents losing sleep over their kids' prospects in such a tight-fisted job market, I can see at least one recourse: teach them how to code. The earlier, the better," he wrote.
What parent wouldn't want to see their child succeed in this way?
Super Scratch Programming Adventure offers a comprehensive and fun introduction to computer programming using the Scratch programming language. Developed in 2003 at the Lifelong Kindergarten Group at MIT's Media Lab, Scratch offers an interactive learning environment which gives beginners the ability to develop programs without the impediment of having to first learn the proper rules or language structure ("syntax") of a programming language.
It also features a block-like graphical interface which enables the novice programmer to focus more on logic than on memorizing code.
The news media currently touts learning to code as a way to provide young people with a desirable career in computer science. However, the real objectives for learning to program at an early age are the skills that children develop along the way. Computer science enables students to express themselves more fully and creatively, helps them develop as logical thinkers, and helps them understand the workings of the new technologies that they encounter everywhere in their everyday lives. According to Mitch Resnick and his co-authors, who wrote a 2009 Communications of the ACM article:
As Scratchers program and share interactive projects, they learn important mathematical and computational concepts, as well as how to think creatively, reason systematically, and work collaboratively: all essential skills for the 21st century. Indeed, our primary goal is not to prepare people for careers as professional programmers but to nurture a new generation of creative, systematic thinkers comfortable using programming to express their ideas.
Learning to program from a textbook can be tedious. However, the comic book presentation style of Super Scratch Programming Adventure creates an entertaining interactive experience for the reader. The story begins with the hero, Mitch, attempting to create his first computer program when an earthquake strikes his school. Temporarily dazed, Mitch wakes to find himself talking to Scratchy, a feline from cyberspace. The two find themselves battling a variety of dangerous villains in their quest to save the earth. Paired with this engaging storyline, readers are taken through the necessary steps to create an assortment of computer games. Each chapter finds the duo facing different challenges, which align with important computer programming concepts. The scaffolding helps the reader to develop comprehensive games without the usual frustration of needing to create complicated code. Another benefit of the book is that all of the sprites (the small, individually drawn graphics that make up the visual vocabulary of a game) are available for upload directly into Scratch. This enables the reader to create the programs without having to worry about drawing costumes and backgrounds.
While the directions for most of the programs are easy to follow, a few of the games' objectives are a little confusing. In particular, children might find the instructions for the puzzle game hard to follow. It would also have been preferable if some of the coding was more open-ended. After working through the book, children might not be fully prepared to create their own games because they will have spent the majority of their time typing in the code provided in the book, rather than generating their own. However, with some adult guidance, children should be well on their way to constructing games of their own design.
Learning to program provides children with the opportunity to become creators of the technology that has become so pervasive in their daily lives. It enables them to think both creatively and logically, an important 21st century skill. Karen Cator, the director of the office of educational technology at the U.S. Department of Education, said it best when she wrote "Success in the 21st century requires knowing how to learn. Students today will likely have several careers in their lifetime. They must develop strong critical thinking and interpersonal communication skills in order to be successful in an increasingly fluid, interconnected, and complex world."
Since the Scratch website launched seven years ago, users have shared over three million projects. Learning to program with Scratch will enable your child to become part of this ever growing vibrant community of learners. Super Scratch Programming Adventure provides an enjoyable and highly accessible introduction to this technology and the power of computing.