Teaching kids how to code is top of mind for many people these days. With all the changes to the economy that have pushed technology companies to the forefront, it's clear that large-scale change is in our future, and coding could someday very well become as integral a part of early education as reading, writing, and math.
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 students' 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 students 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 students 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 the rest of the class.
Here's a list of free apps and Web resources 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. Students can also share their programs with other Hopscotch users via e-mail, which is great for encouraging kids to play with classmates 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 students 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 students 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 — encourage students to try what seems interesting, and not 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 students design robots and create programs to operate them. Avid readers can build Web sites to publish reviews of books they've read. Sports fanatics can build Web sites to track the stats of their favorite players or teams. Tap into something your class 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 students to code as a team. As they grow, having a network of friends and classmates 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. Group coding projects encourage teamwork and allow students to learn from one another. You could also have your class participate virtually in an online program with students around the world, or find someone to help you create a project to get them started.
5. Find a Mentor
Seeing a programmer code and sharing his or her enthusiasm is a great way to get students excited, 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 and your students. Find a friend or colleague who codes or works in a technical field and ask them for assistance, or set up a buddy system and pair older students with novice coders. Either way, a mentor can guide your students when they hit roadblocks with their programs, 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 students get 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 regular rainy day activity. 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.