The key to learning to code is learning to think like a computer—which is a hard thing to do. "It requires structured thinking, ability to abstract details away, and there’s little margin for error—one little typo and your program might do something entirely different from what you wanted," says game developer Rui Viana. "The real world just doesn’t work like that, so it’s hard to get your head around it." Which is precisely why Viana created Cargo-Bot, a simple iPad app that turns "thinking like a computer" into a genuinely addictive puzzle game. It’s like
Angry Birds crossed with Codecademy, and it’s total genius.
Most of the press that Cargo-Bot has gotten so far focuses on the fact that the game was itself programmed entirely on an iPad (using another app called Codea). That’s pretty great, but it’s missing the larger point: who cares what device you can or can’t program stuff on, if you never want to program anything? That’s the problem that Cargo-Bot so brilliantly solves. It’s designed to make programming seem not just doable, but fun: something you’d want to do just to enjoy yourself, not as a means to some other end ("This is how I’ll make the next In$tagram!"). Not even Codecademy manages that.
Cargo-Bot’s Tetris-like simplicity is the key to its charm. The goal is to tell a robot arm how to move colored boxes around on a platform into different patterns. That’s it. It does contain a few technical-sounding terms (like "program" and "loop"), but mostly, says Viana, "I wanted it to be a game about moving blocks around with a claw, and make you forget that you are in fact programming."
The first time I played Cargo-Bot, I lost myself in it for an hour—but not because it magically turned me into a good programmer. Quite the opposite: I spent most of that time "debugging," or correcting malfunctions or inefficiencies in my code. In most coding tutorials, this feels like drudgery—your program doesn’t work, you don’t know why, and you have no choice but to scour each barely intelligible line of code to find the error. But in Cargo-Bot, debugging is the fun part. By watching the cartoony robotic claw execute your instructions, you can literally see your code in action—and see exactly where and when it fails. Watching the claw do something you didn’t expect, or crash into the side of the wall and break, immediately makes you want to fix it. Even better, Cargo-Bot rewards you not just for solving puzzles, but for solving them efficiently: shorter programs earn you more points.
Sound like the dorkiest thing ever? Maybe. But in the 21st century, programming is the new literacy. "Cargo-Bot is a great way to demo what programming is about in a fun and visual way," says Viana. "If you 'get’ Cargo-Bot, you can go through other coding tutorials and pick up a lot from them by yourself." In other words, it’s the ultimate gateway drug. Consider this five-star review of the app in iTunes:
Happiness is pair programming with my son. What a way to celebrate his fourth birthday!
That nearly brought a tear to my eye. Four years old. Cargo-Bot isn’t just fun. It’s damn near noble.