Why do I learn programming with my son? One reason is because he keeps asking to learn to program. And since it’s not something I know well, I sort of learn alongside him.
But another reason is that I’m too old to get into Hogwarts. I will never learn to use the Lumos charm. But I can do the next most magical (to me, anyway) thing – write a short code that will light up an LED! I mean, c’mon, in both cases it’s words that turn into light. See what I mean?
Now, there are tons of toys on the market that promise to teach even very young kids programming. And they all cost money. Sometimes lots and lots of money. Sometimes too much money compared to how much programming a child can learn with them.
What if you don’t want to spend that much? And what if you don’t want your child to spend a lot of (or any) time in front of the computer screen? Does this mean your child won’t be learning to program just yet? Nothing of the sorts! Here’s what we’ve done and what you can do to help your kids learn programming for free.
This game is from the Moebius Noodles: Adventurous Math for the Playground Crowd book that I co-wrote a few years ago.
How easy is it to get a glass of water? Turns out, not at all easy if you have to get a robot to do it. That’s because this robot only understands very simple, one-step commands. Tell the robot to “move forward” and it keeps moving until it hits an obstacle, at which point it still keeps on marching in place. Tell the robot to “put the glass down” and he puts it down sideways or upside down or puts it down on a chair or a floor or a cat. The idea for the robot (you) is to find funny loopholes in the commands given by the programmer (your child).
There are countless programs that can be created, from simple “Pick Up a LEGO brick” to “Write the Word “ROBOT””. You can play it with one child or with a group of 5-6 kids. They can either be a team of programmers, taking turns issuing commands. Or, for older kids, one can be the robot and the others – sub-routines in the main program. I started playing this game with my son when he was 4 years old, but it can be successfully played with much older children and even adults.
For this game, I’ve made a grid on the floor with blue masking tape. But you can use a chess board for this just as well or draw a grid on a large sheet of construction paper.
You will also need a toy vehicle. When we started, Rocket Boy was heavily into space exploration. So our vehicle was a toy lunar rover from one of his playsets. You also need some obstacles (we used rocks from the backyard) and a prize (a building block we called “The Monolith”). Our story was straight from the Space Odyssey 2001: a mysterious “monolith” is found on the Moon. We need to send a rover to it for testing. It starts from the moon base and travels around some obstacles. Rocket Boy was the driver of the rover, controlling it remotely from the base.
After playing with voice commands once or twice, I made it more difficult by introducing a set of command cards (hastily made out of sticky notes). The commands were few to begin with – move forward 1 square, turn left, turn right. As we played, more commands were added, including repeat and check if stickies. Now Rocket Boy had to build a program out of these, then I would get the rover to move through each step.
If you’d like to get a ready-made game similar to our home-made RED ROVER, I recommend:
Robot Turtles – we had its Kickstarter version for some time. It’s intuitive, cute, and can be played by an entire family.
LEGO Fix the Factory – a free app in which the player must program a LEGO Mindstorm robot. The robot’s task is to return battery packs to their proper places in the factory while negotiating moving conveyor belts, moving platforms and other (usually, moving) obstacles.
Yay for Scratch, a free programming environment (and a community of like-minded peers), developed by the folks at MIT. It’s most suitable for 8-14 year olds. However, we first tried when Rocket Boy was 6 or so. He liked it and quickly built a couple of very simple programs. One was called “Cat Goes to School”. In it an animated cat walked around the screen to the school house while mewing a song. His latest game is this Donut Car one.
What I love about Scratch is that there are so many resources for learning it – from the Help section on the Scratch website to the many YouTube videos, online articles and books. It is also compatible with a virtually all our favorite STEM “toys” – LEGO robotics sets, Makey Makey, littleBits, etc. So you can write code and have it do something not just on screen, but in the real world as well.
COMPUTER SCIENCE UNPLUGGED
Now, programming a game is great, but what about digging deeper into the theory behind this magic? If you are interested in introducing your child to computer science as well, I highly recommend Computer Science Unplugged site.
They have 30+ activities, suitable for kids as young as 5 years old, that introduce the fundamental computer science concepts. Many activities include printable puzzles, links to videos and outside resources.
What programming and computer science resources do you use?