Hopscotch Teaches Kids to Code Without That Pesky Command Line

Hopscotch, the maker of the popular coding app for iPad, is now helping kids code on the iPhone.

The internet age has given us no shortage of coding tutorials. There are instructional websites, games, online courses---even DIY computer kits. But Hopscotch is different. While most coding is done on computers with lines of code, Hopscotch is a visual programming language designed for mobile devices. Jocelyn Leavitt and Samantha John, Hopscotch’s founders, launched their first app for the iPad in 2013. Now they’ve created the same coding experience for the iPhone.

“The image most people have when they think of programming is some dude hunched over a black screen furiously typing a lot of incomprehensible text,” says Leavitt. This is a command line interface, a method of programming she says is intimidating to novices because it requires them to learn two things at once. First, there’s the underlying fundamentals of coding---things like conditional logic, abstraction, and variables. Then there’s syntax, the rules that dictate how the symbols in your code---be it Python, Ruby, or Javascript---must be arranged in order to run properly. “If your program doesn’t work, you’re not necessarily sure if it’s because of a flaw in your logic or if you didn’t put a semicolon in the right place,” says Leavitt. “Which in my mind is just really bad UX.”

Hopscotch

With Hopscotch, there’s no typing and no syntax. The language centers around blocks that you drag and drop into place to build routines. You start by picking a shape---let’s say a heart. From there, the app asks you to define what happens to that heart when a given action is performed. You can build a sequence as simple as telling the heart to change colors when you shake the phone, or you could make the command far more complex. Given enough time, says Leavitt, "You could code pretty much any game that's in the App Store."

Most kids, however, use Hopscotch to build games and animated artwork, and through that process become familiar with coding fundamentals. “If a kid is going to build a somewhat interesting soccer game on Hopscotch, they’re going to have to learn how to use variables, they’re going to have to learn how to use loops and conditional logic,” says Leavitt. “We think this is a much better way for people to understand a lot of these abstract concepts."

The app is structured to guide you through a coding project without being prescriptive. “It wasn’t like a puzzle or a game where you have to use logic to level up,” Leavitt explains. It was important that people were building real stuff with a real programming language. “We’ve always been careful about not being a learn-to-code app,” she says. “We’re more interested in providing users a tool they can use to actually code.” It’s making through learning. And failing. “Coding is lots of trial and error, which I think is the best way to learn,” Leavitt says.

Hopscotch does have its limitations. Namely, there’s only so much customizing you can do. “That’s the tradeoff of any programming language,” she says. The more abstracted the language, the easier it is to grasp; but with accessibility you lose a bit of control. Still, Leavitt says she thinks it’s a fair tradeoff. She figures the democratization of coding isn’t going to come from people learning on a command-line interface, but rather through platforms that make the act of coding less complicated. “Our whole thing is we want to make programming itself easier because programming has to change for more people to be able to do it,” she says. “Instead of changing the people, we want to change the product.”