The pillars of elementary education in the U.S. — reading, writing, math — have remained the same for a long time. Now another skill set is increasingly coming into focus: Computer programming.
This week, I tested two new mobile apps, Kodable and Hopscotch, that are aimed at teaching young children the basic skills necessary for computer programming. Both are for iOS — specifically, for iPad — although Kodable plans to introduce an Android version of the app. And both are free to download, but Kodable does include advanced levels that cost $1.99 to access.
What is programming, exactly? Also called coding, it’s the execution of different languages that make computer software, websites and mobile apps run. A series of symbols, like text, are grouped together to imply or prompt something else. A very common example of this is the use of a semicolon to signify a break in a line of code. There are also visual programming languages, which use graphical blocks of code.
Coding tools for kids and beginners are hardly a new thing, but many earlier applications are browser-based, while these apps capitalize on the gravitational pull that tablets seem to have on kids.
Kodable, which launched late last year, is aimed at kids in kindergarten through second grade. It takes a levels-based game approach, reminding me in some ways of a popular app called Cargo-Bot, which lets you move cartoon robotic arms using commands. Or, think Angry Birds, except instead of slinging birds through the air using your finger, you’re moving a fuzzball using arrow commands. Kodable also sprinkles game coins throughout the app as an incentive.
I found it easy to get the hang of Kodable, which is based on Basic, an early and simple programming language. But to say it teaches “coding” is a stretch. It more or less teaches kids how to think logically to get an object moving.
Hopscotch, on the other hand, is more advanced, aimed at kids age 8 and up. It’s based on Scratch, a visual programming language created at MIT. Hopscotch offers colorful blocks of code with which to execute a program on what is basically a blank slate. This means Hopscotch can be as easy or as difficult as you make it, but it also works under the assumption that you already know some programming basics.
Since I’m a few years beyond fourth grade at this point, it’s tough for me to approach these apps exactly as a child would. But I’ve never learned to code, so I can claim beginner status there. Hopscotch was definitely more challenging for me than Kodable was. But I learned more about actual coding from Hopscotch.
Let’s start with Kodable, and then “graduate” to Hopscotch. Once you get past the intro animation with ambient music (maybe meant to lull kids into a total state of relaxation and quietude? Parents and teachers can only wish …), you’re asked to enter your name. From there, you’re taken to a “Smeeborg” of unlocked levels.
Kodable’s main character is a blue fuzzball with eyes and a mouth. There’s a short course laid out for you, littered with coins; as the levels progress, the course gets more maze-like. On the upper right there is a toolbox with arrow keys. On the left, there’s a “script” area where, using the iPad’s touchscreen, you drag the arrow keys to create a command. With each new level of difficulty, a small cartoon hand will simulate the commands for you to give some guidance, but that’s all there is in terms of tutorials.
I dragged a sequence of arrows over to the script and hit the play button. My fuzzball made it through the course, and I went on on to the next level.
I made it through about a dozen levels on Kodable, even unlocking a new fuzzball named Simon Fuzz — he’s green and wears hipster glasses — before I found out that by swiping to the left I could skip to new areas in the game. These are called Function Junction and Bugs Below. Each costs $1.99 and contains 30 new levels of varying difficulty. For example, Function Junction teaches you to create a second sequence of arrow commands under the one you’re already using.
Kodable says it plans to add more curriculum-like education features to the app in the next couple months, including vocabulary exercises, so kids can learn programming words. I think Kodable on the whole could be a bit richer, but I like the app, and there’s no cost to download it and try it.
On to Hopscotch: This app takes you through a quick tutorial at the start, showing how to put together blocks of code to program a little monkey to draw a line. At the top of the app is a plus sign that allows you to choose from one of 10 different cartoon characters, including the monkey. Then, there are “method blocks” of programming on the left, including commands like “move,” “rotate,” “leave a trail,” “repeat” and “scale by.”
You drag these blocks to an empty script on the right, building them on top of one another and squeezing commands in between other commands the way you might play Tetris. Then, you can choose different prompts from a dropdown menu. So, for example, I could tell the app to execute the program I built when I tap the character, or when I shake the iPad, or when I simply press play.
For my first project, I attempted to make a space pod draw a line. I got the space pod to move across the screen, but it didn’t leave a line trail as I thought it would. I tried the same thing with a cupcake character, but still, no line drawn. In another project, I made a gorilla run around the border of the app, scaling up in size every time he turned a corner, but again, I was missing something.
This is where a “debugging” mode — something that lets you see the code being executed in real time to help you pinpoint your errors — would help; Hopscotch says it’s considering adding this feature.
I finally asked the app’s co-creator what I was doing wrong. It turns out that I was putting certain movement-specific blocks outside of the C-shaped “leave a trail” block, instead of inside of it. This kind of troubleshooting might be obvious to some people, but it just didn’t click for me without some basic knowledge of how visual programming languages work. In addition to the debugger, Hopscotch plans to build out more tutorials for this exact reason.
After I completed projects, I could save and share my work with others via email. I still need to hone my Hopscotch skills before I deem anything shareable, but I’ve seen projects by others that are pretty creative, including a chess game in which the Hopscotch characters represent different chess pieces.
These are just two apps in the growing area of coding apps for kids, but both offer value for beginners at varying stages of their learning processes.