Parents don't need an extensive programming background to teach kids to code. Here are seven tips and resources to help teach your child to code.
1. Define coding
Through all of this, one key piece of advice I can give is to understand the boundaries of what you know and what you don’t know. Many of you might be more in the “there’s a lot I don’t know” camp, and again, totally fine! No judgment here.
But in knowing that about yourself, don’t try to be something you’re not, and more specifically, don’t try to communicate something without conviction or confidence. Meaning, it’s OK to go basic. It’s OK to explain through analogies. It’s OK to use examples.
In fact, all of these tactics are encouraged. If your student is a coding beginner, then all of these methods are only going to make it easier for them to grasp the foundational concepts required to build to the more complex.
So, what is coding?
Simply, coding is instructing a computer to do something through step-by-step commands. The goal with this code is for the computer to carry out what it’s being told in order to reach a specific outcome.
And what is coding used for?
Coding is used to tell apps to run on smartphones, and to execute games on consoles. Coding powers much of what your children interact with through their laptops, on their visited websites, and in their social media.
Some people say computers are smart, but without code, computers would sit lifeless. It’s the code that brings everything to life, and the computer is simply an obedient rule-follower.
2. Talk about coding languages
So if coding is the act of telling a computer what to do, there must be a specific way to communicate, right?
Yes! And that’s the primary task of the coding language—to pass along instructions to a computer. The only wrinkle here is that languages take many forms and functions.
So, just as would be expected and required when speaking with people from different parts of the world, different coding languages are needed in order to sufficiently communicate with different machines.
Javascript, Java, Python, C++, are all languages you’ve probably heard of, and each is used with different goals in mind. Here are some details:
Scratch is a block-based coding language that offers a visual learning experience as kids can drag-and-drop code “chunks” to build characters and games. (Check out this quick Scratch game tutorial.)
JavaScript is used for things like websites and other client-facing applications. Most any interactive website or game you’ve come across utilizes JavaScript.
Java is one of the most popular and widely-used languages. Actually, how about this...Minecraft? Heard of it? It was built in Java, and with Java skills, kids can learn how to build and incorporate their own Minecraft mods.
Lua is a great language for game programmers. And if your child is more about Roblox than they are Minecraft, Lua is used for Roblox coding, and be used to create a game in Roblox.
More on kids coding languages.
3. Get kids interested in learning to code
I think the above language breakdown provides a very good first step in terms of getting kids excited about learning how to code:
Connect coding to those things kids already enjoy. Java and Minecraft, Lua and Roblox, and other pairings like Python and artificial intelligence, visual coding and LEGO, or C# and augmented reality.
Between all of the above, it’s a good bet that your kid is interested in at least one of those things, no?
What’s that? Your child is only interested in something like soccer? Don’t worry, there’s still a connection to tech, and a connection to coding, specifically.
Just ask Marco, who at the age of 13 has played soccer for most of his life, but is now developing an interest in data science as it relates to soccer through sports stats and eSport Management. It's one of countless examples.
With all of this, whether tech-interested or not, coding has a hand in a lot of things, making it easy for us parents to connect those interests to the power of coding.
So, how do you get things started? Here are a few tips:
First, have kids learn something. Anything. Coding basics, preferably.
Just like we explained through the definitions above, it’s hard to learn how to do something if you can’t really formulate in your mind what that something might be.
So, have kids start with some light reading. Have them learn the basics, or watch a short video. Get them to a point where they can tell a friend or a family member about coding in a couple of sentences.
Then, have kids talk to someone to learn a bit more.
What really helps something new stick in your brain is being able to talk to someone else about it. Encourage kids to talk to a friend about how the video game they’re playing couldn’t be possible without coding. They can also ask a robotics teacher from school about how programming powers bots.
Never underestimate the value of learning through conversation. It gives children a chance to recall what you’ve already learned while potentially learning something new by listening.
If you simply can’t find anyone in your immediate circle who cares to talk to them about programming, branch out. When we are fee to go out and about again, visit a tech museum, have them join a related club at school.
For now, it could be a small learning group like that of a Virtual Tech Camp. These venues not only offer the chance to learn a new skill, but they also facilitate being able to talk to like minded individuals.
Next, have kids do something. Again, even if it’s something small—that’s OK.
Another potential roadblock to learning a new skill is trying to take on too much right out of the gate. Kids have just learned that programming is the basis for their favorite video games, movies, robots, and more, and they’re all in, ready to develop the next Candy Crush.
Well, while it’s certainly possible, it’s important to maintain realistic expectations.
So, start small. Have them get a feel for programming visually through a program like Scratch or something similar before they dive in to learning how to code. Or maybe they can find an app that introduces them to programming (see the resources at the end of this post).
These types of activities are perfect for anyone who wants to take baby steps towards learning how to program. So again, if practicing time management with your kids, be sure to slot in time not just to learn, but to "do" as well.
Now, have them do something bigger.
Your child has now laid the groundwork and dipped their toe into the programming waters. And while it still isn’t quite time for them to shoot for the stars, they can now begin to set sights on bigger things.
To help facilitate the learning process, help them to stick to something with which they’re already familiar and enjoy. Look into creating a simple iPhone app, or Facebook game. Have them take an online course.
By sticking to areas of familiarity, they’ll be able to more easily see how different pieces fit together and are brought to life through programming.
More on the best coding classes for kids.
4. Ease kids into coding
As you begin to check off the above foundational tasks and start to earn buy-in from your child, you’ll be close to actually getting them hands-on with introductory coding platforms. Here are a couple examples:
Scratch
As mentioned above, Scratch is a visual programming language, but also an online learning platform and community for beginners. In it, kids can “create stories, games, and animations,” and then share those project creations with like-minded peers from around the world.
Code.org
If you’re looking for a few self-paced coding learning options, Code.org features a number of computer science opportunities, both in the form of full-length courses and one-hour tutorials.
And tying this opportunity back to what was mentioned above about connecting with already-established interests, much of what Code.org offers is rooted in things like Angry Birds and Minecraft, or coding a dance party with Katy Perry, Ed Sheeran, and others.
5. Make coding tangible
Any parent is well aware of the different learning styles and needs of children. Some can absorb all that’s presented in a book or written on-screen, while others are simply better at learning from listening or watching a video.
And from there, some are just better at grasping concepts when they can physically put their hands on something. For this type of learner, certain coding “toys” like LEGO coding sets and other objects might be good options to introduce different concepts.
micro:bit
For a different spin, the micro:bit board is a small programmable computer—about half the size of a credit card, but jam-packed with amazing features like a radio to connect with other micro:bits or smartphones, and an accelerometer to sense movement and rotation, like a Magic 8 Ball!
Sphero RVR
How about an all-terrain programmable vehicle? The Sphero RVR is an autonomous robot that is easy to code and can be built and programmed to navigate with an app that offers capabilities with the aforementioned Scratch and JavaScript. (Read more: What is Sphero?)
Other cool and fun options: Arduino, VEX, and ProtoType HARP
6. Get familiar with coding terms
At this point, you’re hopefully thinking that this all looks pretty cool and fun, right? But maybe somewhere in the back of your mind you’re also wondering about how all of this works and how you can begin to intelligently talk about how all of this works.
To be fully transparent, there is a lot in the way of coding vocabulary you’ll want to familiarize yourself with when trying to explain coding to kids! We won’t get into them all, but you can kick things off with these.
Variables are like boxes; they hold important information, or data. A variable can hold different data types, such as numbers or words. Think of it like a chest. You can store items inside it, and give the chest a name to help you remember what you put in there.
A conditional statement helps direct the flow of a program. It does this by having some portions of code only run under specific scenarios. Conditionals always use the keywords if, else, and elif (short for "else if").
Loops allow you to repeat a block of code a number of times. For times when a block of code needs to run an uncertain or non-specific amount of times, you use a while loop. On the other hand, for loops run a specific or set amount of times.
Last, functions allow for coders to perform a series of actions rather than writing each separate statement over again and again.
7. Enlist expert help
Try as we might, it’s inevitable that parents are going to encounter some type of roadblock when it comes to teaching kids to code. It might be an advanced concept or simply difficulty keeping your child engaged and motivated to continue. Perhaps you already have encountered such challenges, and that’s why you’re here.
Either way, what are your options?
Well, there is all sorts of information online, so you can continue to research in hopes of finding the answer that fits your situation. You can also simply let your child off on their own to explore different learning tools for kids.
Either option might suffice, or they might fall flat. While there is no shortage of information and self-paced learning options online, there are certain drawbacks when it comes to strict online learning when compared to face-to-face.
One big factor is the absence of 2-way communication. Meaning, most online learning options are passive, and even if interactive, provide no means for students to let a real human on the other side know where they’re struggling, and for that human to then tailor curriculum to address those needs.
It’s a big piece to keep in mind when searching for help.
Should you teach kids to code?
Coding already powers so much of our everyday lives, and it's only reasonable to expect coding to play even a larger part in the future. Thus, coding is looked at a valuable skill that's growing in popularity, yet, access to coding courses for kids and teens might be limited, or simply, not full explored.
For those reasons, it could be fruitful for parents to look into teaching kids to code; at least giving it a chance to see if it's something their children enjoy or not.
Coding resources
Online learning
- Online coding tutors: Python, Java & JavaScript
- Online coding programs from iD Tech
- Made with Code by Google
- Experiments with Google
Coding Blogs & Organizations
- Code.org
- Free coding games for kids and teens
- Coding terms
- Best coding apps for teens
- Computer programming for kids
- How to get coding experience
- Is coding a good career?