It's not hard to get most kids excited about programming. You say "Hey, how cool would it be if you could make your own games?" and watch their faces light up. The problem is often what comes next.
There's a handful of fun and educational apps online that will help a child establish the core thought patterns needed to actually write a program, but most of them really need that guiding hand from someone who has written code before to push those patterns into something useful. If your idea of writing code is that one time you customized a theme for your MySpace page in 2005, chances are you don't have the tools needed to help a child become a programmer. That's not on you, in fact, it represents a real problem with accessible education in this space.
I recently stumbled across a clever combination of hardware and software that may not be the perfect answer for everyone, but gets closer than any solution I've used yet to truly encouraging kids to learn how to code almost entirely on their own. It's called Kano Computer, and it is very likely going to be my go-to gift for any kid under age 15 for quite a while.
My decision to purchase a Kano Computer came entirely from a desire to give my son a different kind of computer. When my aunt and uncle gave me my first computer, I spent days taking it apart and learning everything I could about it. When I had to give it back to them to replace the power supply a few months later, it took me less than a day to notice new drivers on the system for the CD-Rom drive they were giving me for my birthday. I loved learning about that machine, and wanted to share a piece of that experience with my son. Building a PC isn't likely to be a skill he's going to need in 10 years, so instead of a full desktop I started looking at something a little more compact.
Kano Computer is a Raspberry Pi with a speaker built into the enclosure and a wireless keyboard that includes a trackpad. Assembly is simple, but detailed enough that you learn along the way there's more you can do with this computer than what is available in the box. Connect your Kano Computer to any HDMI display with the included cable, connect a power cable, and you've just "built a computer" with your kid.
The impressive part of Kano Computer isn't the hardware, it's the software. From the moment you start your Raspberry Pi, Kano OS is built to be as child-friendly as possible. I don't mean large, friendly text bubbles with giant colorful icons either. Kano OS offers simple explanations for tasks and walks you through completing them — starting with a command prompt. Once your child creates an account, they're taken to a Legend of Zelda-esque video game world full of people in need of help. Each person offers a challenge, and each challenge requires some form of programming knowledge.
The Kano OS map breaks down each group of challenge out to make it easier for your child to pick what they want to learn. This includes vector art, Python, and basic if/do blocks for beginners. The challenges mostly involve learning inside of a game, which means your child is actively changing the game they are currently playing. They alter a line of code and immediately see the effect, followed by the ability to save the version they've edited to be shared with friends and family.
Even things like system management are part of this game environment. System updates are achieved by walking to the service station and asking for an update, as though it's part of the game being played. The whole Kano OS setup is highly functional, but it's also a ton of fun. It encourages an entirely new level of exploration for would-be software developers, and for parents that don't have that strong software background, it's very easy to follow and participate with your kids.
I've never been so happy with a gift I've given before. Kano OS is entirely open source, and Kano Computer is exactly the kind of compact and portable system a child should have. If there's ever a point where my son has outgrown the software but the hardware is still useful, it's just as easy to replace the software on this as it is any other Raspberry Pi. If you're interested in exposing your child to the beginnings of software development, this is the environment you want them learning in.
Be an expert in 5 minutes
Get the latest news from Android Central, your trusted companion in the world of Android