The ultimate guide on how to teach your kid programming
The Case for Teaching Kids Coding
As a parent, you want to give your child the best chance to succeed in life. The economy has never been so quickly changing as it is today from the rapid advancement of technology.
IT jobs were projected to grow 22% from 2012 to 2020, and all of these jobs benefit or directly rely upon a strong skillset in programming. The median salary for most of these positions are well above $70,000, so these are clearly great careers. Should your child be interested in one of these jobs later in life, giving them exposure to coding early will help guarantee their success.
Even if your child doesn’t develop a lifelong interest in a career that involves programming, there are some fundamental skills they will develop to help them in any career they pursue –
- Creativity – computer programming may seem dull and boring, but it actually requires a great deal of creativity in solving problems. The projects your kids will work on give them a lot of freedom to do their own thing and create whatever they can imagine.
- Problem Solving – Your child will be faced with interesting and challenging problems, and gain the tools to address them with confidence in any situation.
- Logical Thinking and Reasoning – The great thing about computers is they do exactly what you tell them to. You’re in charge of working out the correct logic to apply to get the desired outcome.
- Persistence – Computer programming is all about persistence to stick with it until you get the reward at the end. It’s a process that can take many failed attempts at a solution, but each failure teaches you something new and gives you a better understanding. Through this your kid will learn to push through any roadblocks in life to achieve what they set their minds to.
You probably already understand the importance of exposing your child to programming, though. According to Code.org, 9 in 10 parents want their child to study computer science, but only 1 in 4 schools offer the subject, putting the burden on the parent.
The good news is, there’s never been a better time for teaching your kid the basics of computer programming! We have a great selection of methods, resources, and even a programming language designed specifically for kids that have just been created in the past several years.
Start from Scratch!
Scratch is a completely free visual programming language created by some geniuses at MIT to give young kids an easy introduction into computer programming. You can use Scratch from within your web browser with no downloads or registrations required. You can also save your projects and share them with others.
Let’s take a quick look at just how simple Scratch really is. Even if you’ve never written a line of code before, you can probably take a look at this small Scratch block and understand what the character on the screen will do once the spacebar is pressed.
Designed for ages 8 and up, Scratch could also be used to introduce kids even younger if they have a good grasp on reading and numbers, though some of the more advanced projects will need to wait.
Check out the video below to get a good feel for what your kids can do with Scratch, and then read the Scratch for Parents guide if you’re looking for more information.
Different Types of Programming Resources for Kids
Now that we’ve gotten you a little familiar with Scratch, lets dive into some of the tools and methods you can use to help your kid learn coding. Each has their strong points, and they can all be used together for maximum benefit.
- Websites/Apps. There’s a bunch of different websites out there that will let your child learn programming directly in their web browser or on a tablet. These often have instructional videos, presentations, quizzes, and interactive lessons where you child does real coding. This method of learning will most likely have the greatest benefit in establishing a foundation of understanding of computer programming.
- Programming Board Games. These games can help kids as young as 4 years old learn some of the fundamentals of programming without even realizing it. While your child won’t be programming a computer, the physical adaptation of programming can help your child to “think like a computer”, and better understand the logic behind programming.
- Programmable Toys/Robots. There’s a good variety of robots out there you can program using a Scratch interface which can be extremely fun and rewarding for your child. This will really help them expand their creativity to have their robot interact with the real world instead of only controlling characters on a monitor.
- Books. While not as exciting as the other methods of learning programming for kids, books are still very valuable for the ability to have something they can readily reference previous terms and concepts with. Most books have a companion website where you can use examples from the book to get hands-on experience as you read.
Now that we understand what’s available, let’s break it down by age range and we’ll suggest the best resources for your kid to learn programming.
Programming Resources for Ages 7 and Below
In this age range, you want to keep things light and fun for your kid and make sure not to smother them or try to push them too hard. The resources below use fun characters and games to sneakily plant some seeds of understanding into the mind of your child.
Code.org is our top choice for starting your child’s journey. This organization is widely respected and endorsed by many smart people like Bill Gates. Many of their courses are only an hour long and use characters your children are already familiar with and love. It might be much easier to get your child’s attention when they’re helping their favorite characters from Star Wars or Frozen.
Most of their courses are recommended for ages 6 and up, but they also have more advanced classes for middle schoolers and up.
If your looking to let your child flex their creativity more, you should check out the Scratch Editor. It gives you the freedom right away to create whatever you can imagine. There are also step-by-step guides you can follow within the editor, but they aren’t quite as nice and intuitive as Code.org’s.
Tynker is a very cool website that is much more polished and offers a wider variety of activities for your child, but unlike the previous sites it’s not completely free. Plans start at as little as $6 a month and offer Scratch-based courses. You also get your own Parents Dashboard which will let you track what your child is learning and how much they’re progressing.
Tynker has over 1,000 activities for your child, and the interface for the learning modules and quizzes is great for keeping a kid’s attention. If your child has gone through all the Code.org courses and wants some new challenges to take on, Tynker is a great option for kids up to middle school ages.
Tynker also has an Android and iPad app, which can be a huge selling point as the touchscreen is often easier for kids to use than a mouse and keyboard. The Tynker app can also be used to control some drones and programmable robots, which we will discuss later!
Robot Turtles is the Kickstarter-backed board game from the team at ThinkFun that really showed this genre of games to be in high demand. Robot Turtles can be played by 2-5 players ages 4 and up.
The game is played by placing your cards in a correct sequence in order to move your turtle to their jewel. This game helps your child develop reasoning and logical thinking that is so important to many aspects of life, as well as problem solving.
There are a wide variety of different ways to setup the board to adjust the level of difficulty as your kid’s skills grow. Older kids may master the game fairly quickly, in which case you’ll want to check out the Code Master board game we recommend below.
Programming Resources for Ages 8 to 12
In this age range, you’re still going to want to rely on the websites above to give your child a solid understanding of programming concepts and Scratch.
With that core understanding, they can handle some activities that require more complex logic. Don’t try to skip learning the basics just because of your child’s age as that will be a very frustrating experience. The tools below are meant to build upon a foundation of Scratch knowledge.
Code Master Programming Logic Game
If your child has mastered Robot Turtles or is 8 years or older, check out the new Code Master Programming Logic Game by ThinkFun. This game is more advanced than Robot Turtles, but it still starts easy but ramps up the difficulty as you succeed. This is the one resource that doesn’t require existing programming knowledge and could be used as a starting out point.
This is a single-player game in which you build a sequence of movements (similar to Robot Turtles) in order to move your Avatar to the power crystal in the correct order. There are 60 levels, each more challenging than the previous!
This game will have your child understanding how a computer processes directions and even more complicated concepts like loops and conditional logic. This game serves as the best way for a kid to physically see, process, and understand how a computer handles programming instructions.
The Makeblock mBot is an extremely versatile little bot that will let your child assemble the electronics and then program the robot to do whatever they want using a programming interface identical to Scratch! This is a great way to take what your kid has been learning on a computer screen and bring it into the physical world.
The mBot can be paired to a phone or computer via Bluetooth for remote control and programming capabilities. The robot has a line-sensor so it can follow a track you draw for it, and it also has an ultrasonic sensor to detect objects in its path.
Once you receive your mBot, there’s a ton of material for you online. On this resources page you’ll find a downloadable instruction manual, mBlock software for programming on your PC or Mac, mBot App which lets you remote control the bot from your phone, mBlockly which lets you program your bot from an iPad, and two different courses/tutorials to follow along with while learning how to use the mBot.
Sphero 2.0 is a programmable bot for kids ages 8 and up that will remind your child of the new Star Wars BB-8 drone. Just as a toy alone, the Sphero is pretty amazing. It can light up different colors, travel along just about any surface, and it can even swim!
The Sphero can also be used in combination with an iPad or Android tablet, along with the Tynker app to program the robot using Scratch. Here’s a guide that covers syncing your Sphero to the app, and the rest is pretty easy if you’re familiar with Scratch.
You can also build much more advanced Android apps, iOS apps, Windows apps, etc that utilize Sphero, so even expert adult programmers would find a lot to do with this bot.
Python for Kids
If your kid is picking up Scratch really well and excelling, it might be time to introduce them to a “real world” programming language like Python. Recommended for kids age 10+, this book will slowly take your child through the concepts of programming with Python. Each chapter builds upon the last to try to make the learning process as easy as possible.
There are plenty of other books out there aimed towards teaching a kid programming languages they could use in a future career, so feel free to read reviews on other books if you find something else that looks more interesting.
Programming Resources for Age 13+
For kids in their teens, there’s many great sites out there for learning advanced programming languages they could potentially use in the workforce. We would still suggest that any teenager just getting into programming start with one of the Scratch websites above to get a foundation of the concepts behind programming. They’ll be able to move on from Scratch fairly quickly, but it’s a good idea to get their feet wet before moving on to these more advanced courses.
There’s several awesome sites that can get your teenager started with learning one of these languages. They typically use videos to teach the material, and then you’re given a quiz using a real code editor to actually practice what’s being taught. These sites more closely simulate a course that you would take in high school or with a private tutor.
Usually these sites will give you the basic courses for free, then you need to subscribe for a monthly payment plan to continue to more advanced courses. With some of these sites, once your teen completes a course, they earn a badge that can be placed an a resume, college application, or online job profile like LinkedIn.
- Code School. Offers 11 free courses, and unlimited access to all 59 courses costs $29 a month or $290 for a year. We personally find this sites interface and videos the most approachable.
- Code Academy. Offers a huge amount of free course content that covers a wide range of topics. Most courses have a “Final Project” that is more in-depth and simulates a real-world project environment which is only available if you have a Code Academy Pro subscription which costs $20 a month. This site is another great way to let your child test out different languages to see which one appeals to them the most.
- Khan Academy. Offers more advanced classes that have curriculum closer to an entry-level college course. They offer both courses in Computer Programming as well as Computer Science. These would be great courses for your child to dive into before they head off to college to give them a taste for what a Computer Science major would look like. Khan Academy is 100% free!
Arduino Uno Ultimate Starter Kit
If your teen develops an interest in electronics and making their own gadgets, then an Arduino Uno. An Arduino is a small, programmable microcontroller that incorporates many aspects of technology like electricity, programming, and gadget-building.
This starter kit has everything you need to get started with some basic projects and the 72 page project guide will get you started in no time. You can create projects like lighting LED lights in a certain pattern, adjusting the color of an RGB LED based on temperature, or making an LED nightlight that is only lit when the room is dark.
Once you learn the basics of programming an Arduino, you can expand the tools it uses, like connecting it to WiFi to report detected movement in an area or alert you when the humidity hits a certain level. It fosters a lot of creativity as the possibilities are endless.
The career opportunities for those with a IT/Computer Science degree are outstanding and are projected to be one of the most stable career paths for the foreseeable future. Exposing your child to programming concepts is a smart parental move to gauge their interest level while they’re young. Even if it’s something they ultimately don’t end up sticking with, the educational benefits they’ll pick up from just trying it are second to none in today’s economy.