We may imagine coding to be this complicated field reserved for only the tech-savviest of people, but really it's very similar to learning a language; and in the future, it will be just as important. Because software is becoming the language of the world, not knowing how to code will be akin to being illiterate. Coding, for all intents and purposes, is just that – a language. It is the language behind every network, device, or app we use today – from messaging to online shopping to GPS – and while our students are rather adept when it comes to using these technologies, they are rarely taught how they work. How incredible would it be if we, as teachers, could take this generation of passive content consumers and turn them into a problem-solving, creative-thinking generation of active content producers?
The Benefits of Coding for Kids
There are so many ways a kid could benefit from learning to write code at a young age, the most obvious being that it prepares them for a future job market teeming with all kinds of programming positions. And the world is in serious need of programmers – over the next ten years programming will be one of the fastest growing occupations with 1.4 million jobs to fill. Couple that with only 400,000 computer science graduates and we've got 1 million empty positions.
But aside from aiding society's massive need for programmers, teaching kids code provides them with a lot of practical life skills. At the crux of coding is computational thinking, a method of problem-solving that looks at the big picture and breaks it down into smaller, more manageable pieces. This kind of thinking teaches kids how to spot problems and prevent them in the future. It shows them how to think for themselves, think recursively, and work to create solutions. These are skills they can take with them for life, starting with the most basic things like giving a toy robot commands with buttons to more complex things like building apps.
Obviously, not every kid wants to be a programmer. But this computational approach is being used across fields such as mechanical engineering, physics, biology, archeology, business, data analytics, info assurance, and even music, so the possibilities are virtually endless.
So How Exactly Do You Teach Kids to Code?
In the early days of the computer, coding was quite the task, with extremely slow machines, not much memory, and only the beginnings of the world wide web. Now, with our ultra-fast devices that can connect to anywhere in the world and answer just about any question we could think of, coding is easier than ever. Here are a few of the most popular resources for getting kids acquainted with code organized by grade level.
Preschool and Kindergarten:
Daisy the Dinosaur: This free app teaches kids the basics of programming using drag and drop commands to make Daisy jump, spin, and perform mini challenges.
Bee-Bot: Much like Daisy, Bee-Bot lets kids tell it what to do, but it's an actual toy with command arrows directly on it. Kids enter the commands then watch as the toy performs the actions.
Robot Turtles: This one is a board game with the goal of matching each player's turtle to its corresponding master jewel in the center. Kids pick cards with different commands to lead them to their jewel through different moves, twists, and turns.
Scratch: This game, that can be accessed online and through an app, lets kids create their own characters and story lines using drag and drop programming commands to tell the character what to do. They can even add their own voice to the story. Scratch offers kids much more options than most apps do.
Kodable: Kids help a little alien find its way through mazes with programming commands, and win prizes along the way.
Code.org: This website has a multitude of coding lessons and activities that really work for all levels and ages of students. Kids can play games to learn algorithms and even learn from the best with video lectures from Mark Zuckerberg and Bill Gates.
Tynker: Although a bit pricey ($50), this online course teaches kids to code at their own pace, through comprehensive lessons, videos, and games. Teachers and parents can monitor their progress and users get lifetime access to the online creativity suite.
Middle and High School:
App Inventor: Similar to Scratch, this site uses drag and drop coding blocks to build an app, but with a lot more functions and coding elements, which could make for an interesting digital class project or contest.
Alice: This desktop app teaches kids 3D programming, allowing them to create their own 3D animations. A great feature of Alice is that kids can immediately see how their programs run as well as the coding behind it, helping them find and solve any problems with their animations.
Khan Academy: Like Tynker, this is an online course for learning code, but a bit more advanced. Kids can dive into everything from animations and gaming, to creating algorithms, to designing web pages and databases.