New Book Review: "Coding Concepts for Kids"
New book review for Coding Concepts for Kids: Learn to Code without a Computer, by Randy Lynn, Rockridge Press, 2020, reposted here:
Copy provided by Amazon.
I'm in the midst of reviewing a few programming minded books targeted specifically at children at middle school (intermediate school, junior high school, lower secondary school) age or younger, with this text by Lynn at the lower end of this range, explicitly stated to be ages 5 to 7. I think this is an accurate age range for the average child, as the author illustrates several basic programming principles using a very light amount of abstraction that never gets into actual code or pseudocode.
The content is broken down into several chapters: (1) "Hello, Coders!", (2) "Awesome Algorithms", (3) "Lots of Loops", (4) "Creative Conditionals", (5) "A+ Optimization", (6), "Delightful Debugging", and (7) "Very Valuable Variables", followed by a 4-page answer key to all problems presented throughout the book, and single pages dedicated to a glossary and additional resources that essentially point to ScratchJr and Scratch (scratch dot mit dot edu), code dot org, and raspberrypi dot org.
As a long time technologist, I was first exposed to programming a few years into grade school as resources such as this simply weren't available at an earlier point in time. I think the author presents their material in a very fun manner that very gently introduces the concepts of algorithms, loops, conditionals, optimization, debugging, and variables along the way. The illustrations are very well done, always relating to the material being presented so as not to confuse young learners.
Lynn makes some great statements in their introductory chapter. "Learning to code is a little like learning how to write. You can't write a book before you've learned your ABCs, right? You can learn how to code on a computer, of course. But it's smart to begin learning without a computer. That's because being a great coder starts with being a great thinker." That said, there are some subtle issues with what the author presents, and while these likely shouldn't prevent using this book, some new in this field may wish to reference my list as they work with their children.
First, the author makes a misstatement at the outset. "Computers can be a lot of fun, and you know what's even more fun? Using your creativity to invent something totally new! That's what coding is all about." While developing new software is a lot of fun for many technologists such as myself, and much can be learned doing so, in reality most coding taking place in the workplace is not associated with developing new software, but maintaining or evolving existing software.
Second, the "Codeo Rodeo" problem in the second chapter might confuse some children (and those guiding children through this book). I came up with at least three solutions, and the answer key only lists one. The number of possible solutions is even greater than three if not restricted to the shortest possible route, and the problem statement doesn't explicitly state whether there are any obstacles across which Al (one of five "Coding Crew" characters in this book) cannot traverse to get to their goal.
Third, the "Laugh-a-Loop" problem in the third chapter is also problematic. After explaining why steps of instructions might need to repeat, the author presents a simple "Run the Code" example and then progressively adds more complexity. A good pattern that repeats throughout the text. However, after just explaining what a "loop" is intended to mean in this simple example, the definition of it changes for the "Laugh-a-Loop" problem, with no explanation given, based on the answer given in the answer key. Not good.
Fourth, the "Hidden Toys" problem in the third chapter has a similar problem to the second aforementioned issue. The problem statement doesn't explicitly state whether Spot the Bot is to find their toys one at a time, or all in one swoop. Based on the way the problem is presented, it appears as though the bone, ball, and teddy bear are to be retrieved separately, starting from the same spot on the lawn. At least, this is one interpretation of what needs to be done. It's clear from the answer key that Spot the Bot is to find their toys all in one swoop.
Note that this isn't an exhaustive list, so similar problems have similar issues. Again, these issues are very subtle, and shouldn't prevent using this book. However, for what it's worth these issues demonstrate the reality of problem solving in the real world: there almost always exists more than one possible solution for a given problem, and problem statements typically need to be reworked or reimagined so that the solution which ends up being followed actually solves the intended problem. Despite these issues, well recommended for the stated target audience.