Following up on his earlier book, Computational Fairy Tales, Jeremy Kubica brings us more education in programming through stories in his newest book, this time dealing with the best practices of writing software.
Not tied to any one programming language, Best Practices of Spell Design isn’t meant to teach programming, but rather introduces programming concepts that can lay a foundation of context for further learning. Kubica’s books are great for reading with kids, or alone, to get a glimpse into higher level concepts and to understand some basics.
Like his earlier book, this one has a unifying storyline that ties together different opportunities for lessons in programming. In the land of kings, castles, and messages sent by pigeon, potions, castle walls, and baked goods have a prominent place. Problems arise that require solutions akin to programming challenges such as: having the proper units, dividing things into subtasks, writing readable code (not just readable to the person who wrote it, but also to those who come later), creating tight and efficient code including IF statements and loops, testing your programs, designing your structure, using good naming conventions, version control, debugging your code, commenting, assignment, using white space to show structure, initializing variables, documentation, consistency, and many more concepts. By telling the story within a setting that is familiar to most, and isn’t intimidating, these higher level concepts are much more easily understood.
In the book, the main storyline twists and turns to teach a variety of concepts, but it does more than that. To use a description from the book, it helps readers not just learn how to follow a recipe, but also how to think like bakers. Er, programmers. You know what I mean. This book will help you be able to come up with something original, an original solution to a problem from scratch, and not just copying what someone else has done.
The storytelling in this book is mostly through conversation. There is less action here than in Computational Fairy Tales, but it still gets the job done.
Each chapter of the book is a short, manageable section that you can easily read in one sitting, about five pages or fewer. There is a small amount of code or pseudocode in the book, but grown-ups should have no problem understanding it, and kids can discuss it with their parents if they need help.
Best Practices of Spell Design retails for $6.99, and is even cheaper for the Kindle. I highly recommend it to anyone interested in learning some programming design concepts or teaching your kids new ways of thinking about problem solving.
Note: I received a copy of this book for review purposes.