With all of the hype surrounding fast-growing tech startups, as well as discussions about improving our education system, teaching kids how to code is top of mind for many people these days. Large scale change is in our future, and I look forward to a day when coding is as integral a part of early education as reading, writing, and math.
Fortunately, you don't have to wait for "someday" to get your kids coding—here are 6 tips to help you spark and sustain a child's interest in programming:
1. Emphasize that Coding = Creativity
Coding is as much about creativity as it is about math, science, and problem solving. The stereotype of computer programmers as math nerds scares many people away from coding, adults and children alike. But coding is creating and making things come to life—drawings, games, robots, applications. Most kids like to create things, so coding will come as naturally as painting a picture or building something with Legos. Capture their interest by emphasizing creativity, and they'll naturally learn some core programming concepts along the way. Keep it fun and don't force it—not all kids like to paint, and not all kids will like to code either.
2. Encourage Exploration
Find age-appropriate tools that give your child enough room to play without needing to read an instruction manual every few minutes. The process of discovery—or the "I wonder what will happen if I do this?" moment—is a core component of a coder's world. Encourage your child to experiment, and keep an eye out for signs they're reaching the limits of a specific app. Even if you're not a coder yourself, you can learn along with your child.
Here's a list of free apps/websites to get you started:
Daisy the Dinosaur (iPad, ages 6-10): This simple iPad app will get kids excited about being able to control the movements of a character on screen using basic commands. As an intro to coding it’s even great with younger children, but may not hold older children's attention for very long.
Hopscotch (iPad, ages 8-12): From the makers of Daisy the Dinosaur, this app is fun, easy to use, and lets kids create drawings and more complex animations with a whole cast of characters to choose from. You can also share your programs with other Hopscotch users via email, which is great for encouraging kids to play with friends and share their creations.
Scratch (web, ages 8-16): Scratch has been around for a while and has an active community of young programmers. It builds on some of the basic programming controls used in Hopscotch, and introduces many new tools for creating more unique and complex animations and games.
Codecademy (web, ages 12+): Codecademy provides free online courses in specific programming languages. Older children who show a sustained interest in coding may be ready to start learning to program on their own. The course on HTML and CSS is a great place to start, and it will teach your child how to create web pages from scratch.
3. Tap Into Each Child's Passions
Coding can be used to create many different kinds of programs—try those that interest your child and don't write off coding altogether if they don't enjoy one specific flavor. There are apps that focus on everything from drawing to animation to storytelling to game design. Kits like Lego Mindstorms, Sparki, and littleBits let kids design robots and create programs to operate them. Avid readers can build websites to publish reviews of books they've read. Sports fanatics can build websites to track the stats of their favorite players or teams. Tap into something your child already enjoys doing and show them how to use coding as a new way to bring their ideas to life.
4. Make Coding a Social Activity
Find opportunities and encourage your child to code with other children. As they grow, having a network of friends who are also interested in coding will go a long way to keeping them engaged. "Kids become coders because they are friends with other coders or are born into coder families," Mimi Ito recently pointed out in a Fast Company article. Doing a quick search in your area will likely turn up a number of options for local summer camps or after-school programs. You could also gather a couple of kids and help them participate virtually in an online program, or find someone to help you create a project to get them started.
5. Find a Mentor
As Mimi Ito noted, children of programmers are more likely to code than children of non-programmers. But hope is not lost if you're not a programmer yourself! There are plenty out there and most would be excited to help you. Find a friend or family member who codes or works in a technical field and ask them for assistance. (If your child is at that age where they want to do the opposite of everything you suggest, this may be even more effective than doing the mentoring yourself.) This person can guide your child when they hit a roadblock with a program they're creating, challenge them to keep exploring, and show them what different coding careers could look like.
6. Keep Problem Solving Fun
Programmers like to solve problems, and many professional coders choose where to work based on the types of problems they'll get to solve. Whether or not your child gets hooked on any of the apps listed above, you can always encourage them to be curious, to tinker, and to solve problems. Push them to learn how something works and to find different ways of doing things, or make puzzle games a fun thing you do as a family. A child who enjoys creative problem solving may get into coding somewhere down the road, even if they're not interested today.
Introducing children to coding will open up a whole world of possibilities for them later in life, not to mention the enjoyment they'll get from having new tools to create with today. But it's also important to remember that coding isn't for everyone. Not every child likes to paint or play baseball or dance, and not everyone will like to code either. Don't force it. Show them the apps, provide some support, and let them drive. If they don't show an immediate interest, they may yet come back to it later.