# ‘Hello Ruby: Adventures in Coding’ – Thinking Like a Computer

This post is from a series sponsored by Macmillan, publisher of the Hello Ruby children’s book. You can also read Part One (Thinking Like a Programmer) and Part Two (Learning Through Fiction).

When I was in high school, my science teacher, Mr. Grimme, presented us with an interesting problem.

“Tell me how to make a peanut butter and jelly sandwich.”

We worked on it in groups, and the next day when we walked into class, there at the front of the room was a bag of bread, peanut butter, jelly, plates, and a knife. I don’t think anyone was able to complete the task with a result that could reasonably be called a peanut butter and jelly sandwich. If you’ve never done this before, you should go try it with your kids. It’s a hilarious example of the importance of giving clear directions.

Child: “Take two pieces of bread and place them on a plate. Put peanut butter on one piece of bread…”
You: Pick up the jar and place it on the bread.

Child: “Remove peanut butter from jar with the knife. Spread it onto the bread…”
You: Scoop out about a third of a jar of peanut butter. Begin spreading it all over the bread–both sides, the edges, everywhere.

Unless you’re presented with a five page manual on the making of a peanut butter and jelly sandwich, with diagrams and references, it’s pretty easy to purposely misunderstand an instruction. It’s also a good indicator of how much we take for granted regarding prior knowledge and inferred meaning when we communicate new ideas. When kids start the peanut butter and jelly sandwich challenge, there are a lot of assumptions that they make. They assume you know how to make a sandwich or how to open a jar, but once they recognize the extent of your feigned ignorance, they stop taking things for granted. They’ll start telling you what jelly is, how to hold a knife, the angle to hold the knife when spreading, the history of the sandwich. This is a particularly useful skill to have when learning to write code. Realizing you don’t know what the computer can understand, or already knows how to do, is the first step in giving it instructions.

The last half of Hello Ruby: Adventures in Coding is filled with fun activities similar to this, designed to get your child to start thinking like a computer. The beauty of the activities is that they never come across as homework, despite being tied to each chapter of the book. They’re more like one of those puzzle books you’d pick up at the dollar store, only instead of word finds and “Which One Is Different,” they are introductions into programming concepts such as booleans and if-then-else statements. You can help Ruby pick out her clothes for the day (remember, she only wears blue or yellow on Tuesdays!), find out which of the statements made by the Bugs is true and which is false, and learn some of Ruby’s favorite dances (and make up some of your own as well). You can check out some of the activities on the Hello Ruby website.