Book Report
Ruby Wizardry
An Introduction to Programming for Kids

By Jorge Figueiredo - March 28th, 2015

Images presented here are from the PDF version of the book.

When I was younger, I used to goof around on Commodore Pet computers in school, learning the basics of programming. This curiosity extended to my home life when my parents brought a Commodore 128 into our home. Sure, there were plenty of great games, but it was fun to make my own small diversions – it instilled a great sense of self-confidence and satisfaction. Even in university I took a few Computer Science courses to address my programming bug. With the accumulation of various responsibilities as I got older, my mindset slowly migrated towards that of a game player rather than a game maker – and with languages being different than what I grew up with, the pull has been minimal.

And it’s not just me; there is so much to consume in terms of apps that the lure to simply play is strong – even in kids. Recently, I was introduced to a programming language called Ruby. This introduction was brokered via a book written for a younger crowd, but is a valuable resource for adults as well. With a simple (yet effective) storytelling style, Ruby Wizardry: An Introduction to Programming for Kids (written by Eric Weinstein, published by No Starch Press) enlightens readers on the basic concepts of programming through Ruby‎, and is engaging and fun enough to captivate and inspire a younger audience.

Scarlet and Ruben will guide you through the ins and outs of Ruby.

Now, I know that you’re probably wondering how a book on programming can be engaging – but trust me, Mr. Weinstein has got you (and your kids) covered. The book teaches the various aspects of logic and language through an adventure story, and makes for a very entertaining read!

The book features two kids, Scarlet and Ruben, who help the King with various problems by using the various computers (or computer-like devices) all around his kingdom. No matter what the issue, Scarlet and Ruben show the King how he can use Ruby to overcome the obstacles in his way! The story is broken up by examples of programs that demonstrate the concepts introduced in the story; readers are encouraged to program alongside the characters, which is a very engaging way to reinforce all of the material. Some of the characters are more knowledgeable than others, but what is really great about this book is that no one character knows everything – everyone in the book learns at least one thing. It’s a very disarming way to get readers to identify with the characters.

Ruby itself is a powerful language – yet it is very simple to program in. Processes that take multiple lines of code in other languages are far simpler on Ruby, making it a more natural way to learn programming logic. Through the reading of Ruby Wizardry, readers will learn all about various simple aspects of programming, such as variables, symbols, arrays and strings. Once finished reading the book, readers will also be able to organize code with methods and classes, and will be able to express their ideas in Ruby, whether as single lines of code, or as scripts.

This is my childhood, right here.

The writing in Ruby Wizardry is not very complicated, and is very easy for children to read. While the intended age of the book is for kids 10 and up, Smallest Thumbs (who is 8) could follow along with the story and began to really enjoy learning some of the concepts that were being taught. More importantly, the writing was easy enough for her to understand enough to ask questions about things that were a little beyond her grasp. I can tell you that she enjoyed the fact that the female characters in the book knew a bit more than their male counterparts. Smallest Thumbs also enjoyed the programming examples, and after a few demonstrations wanted to try her hand at running the programs herself. While she didn’t always get it right, the book’s informal and unassuming style doesn’t feel oppressive when mistakes are made. When she erred, she was quick to check the book and get back to her programming. Aside from these small programming demonstrations, there are also larger projects in the book.

It’s not hard to see that some kids reading this title will become enchanted while others will become frustrated – though, I suspect the stymied crowd probably didn’t ever really want to program in the first place. Weinstein does a great job with repetition with concepts, and on top of repeating them, he teaches slightly different ways to do things. Not all of these methods will jive with each reader, but chances are good that one of the many ways in which he is teaching will strike a chord. A word of warning: this book teaches a lot of concepts – not necessarily a bad thing, but important to note nonetheless. The PDF of the book that was sent to us to review sits at around 327 pages, and features an introductory chapter on how to install Ruby on your computer, as well as a final section that recommends further resources to reinforce the concepts, and learn new aspects of Ruby!

I’m not sure if you can make this exact thing with Ruby.

If you’re looking to get your kiddo into programming (or if you’re looking to learn a new programming language), then Ruby Wizardry (Dec 2014, 352pp, US $29.95, 2C) is for you. Keep in mind that kids younger than 10 will need a little more guidance on the subject – but judging by Smallest Thumbs’ reaction, that might not really be an issue. Eric Weinstein has done a great job creating a learning resource that is both informative and fun, making the act of learning how to program the furthest thing possible from being a chore.

Comment away!

Please keep it clean. Unnecessary cursing will be removed.

Article comments by non-staff members do not necessarily reflect the views of Toronto Thumbs.

× 1 = five