Designer Jeffrey Karl illustrated a Codecademy Kids for the iPad app to help more kids learn how to code. While not developed (yet!), his ideas show how to get any child interested in coding.
Why do you think kids should learn to code?
It's not that you need to master code, but everyone should know the basics. I had heard about how the country of Estonia mandated that elementary school students learn how to program, and also how there are not enough code literate people. There's a big barrier to entry to learning how to code - so how do you lower it?
How do you get them started?
One way to make kids excited about coding - or learning anything for that matter - is providing context for whatever subject it is you want to teach them ("If you learn this, you'll be able to..."). Let them know that if they code they'll be able to make their own games, or code their own website, or maybe just having fun with a more game-like or story-driven experience will be enough.
Coding is intimidating even to adults - how does this app help?
I wanted it to feel very tactile, like a child's arts and crafts project — each interactive element in the app is something to move around.
I used drag and drop (roughly borrowed from Scratch) to simplify the experience. I had the idea of having pre-made tools; for kids, they don't need to know the intricacies of writing code. So say you want to write an If / Else function in JavaScript. Drag and drop a function from the toolbox onto the looseleaf paper, then go back and grab the If / Else bit and drop it inside of the function. You'll see them expand so you can look at syntax. In the beginning, it's more the structuring of code that matters.
Without badges, what's the motivation for kids to do lessons?
Instead of getting badges for the sake of badges, in this app you're getting robot parts so that you can build a robot of your choice.
A robot represents a course. We need help building this robot and you do that by completing the lessons. There are different sized lessons so that you can add a leg and an arm, and it's fine to add three arms to make a really big robot (or a really long lesson) too! Each of the sections highlights a different part of the body.
As a game designer, how do you keep kids engaged?
I recently saw a talk given by Sebastian Deterding. He stressed that gamification is more than badges, leaderboards and points; it's about providing a meaningful experience for the user. One way to do that is through creating a fun story. This was basically the solution I used with Codecademy Kids for the iPad: the current system of badges aren't really related in any meaningful way - save the overlapping skill set it takes to complete each. Providing a storyline where kids can help this friendly character, Ratchet the monkey, build the individual parts of a robot is one way to contextualize these lessons for children.