Coding for kids (otherwise known as computer programming) is growing rapidly in popularity.
While programming is offered in a small number of traditional schools in the US, a Gallup poll indicates that 90% of parents would like computer programming to be taught during the school day.
Learning how to code at a young age can truly set up your child for a lifetime of success. Even if they don’t go into a specifically computer science related field, it gives them an edge in virtually every modern industry.
Even for students who are lucky enough receive computer science instruction in the classroom, the level of rigor has been traditionally low (typically only Scratch, Code.org, or Tynker). To combat this, many parents have chosen to look for outside resources to provide coding instruction.
1. What is Coding for Kids? What Age is Appropriate to Learn to Code?
Coding, or computer programming, is a creative process programmers perform to tell a computer how to perform a task. At its foundation, it involves writing computer programs using programming languages. Coding for kids is usually taught using content that is high-interest while creating projects that involve creative input.
In short, coding for kids is typically gamified making it fun for kids to learn!
Since coding can be gamified, kids as early as age 5 can start learning how to code using visual block interfaces or age appropriate text-based coding classes.
Kids computer programming courses using games, apps, and other kid-centric projects is a research-based approach that has been proven to teach real world skills in a way that keeps students engaged.
2. Why Should My Child Learn to Code? Why isn’t K-12th Grade School Enough?
In short, learning to code at a young age provides kids and teens with more future opportunities. As you will learn below, the data is compelling. According to the Bureau of Labor median pay for software developers is $103,560 per year, with demand expected to increase by 24% per year from 2016 to 2026. This is much faster than the average of other occupations.
Unfortunately, even if your K-12 school is one of the few actively offering coding classes, they typically do not properly prepare students. Either they fail to incorporate the proper languages that jumpstart your kid’s career or simply don’t have as many tools and resources as are available in supplemental programs.
Most schools use programs like Scratch, Code.org, or Tynker.
Scratch is a good, free way for kids to learn coding concepts without using real programming languages. Code.org has some decent exercises that introduce Scratch-like visual block languages and even some basic text coding in its later modules. Tynker also features a visual block approach while introducing text-based coding in later modules.
These programs are preferred tools for schools as classes can be proctored by teachers that have limited or no engineering backgrounds. They are fun ways to get your child’s feet wet, but within a short period of time, many kids will be clamoring for more advanced content. Next level content allows students to create their own games, apps, and web pages using real text-based languages. Plus, it doesn’t restrict them to closed platforms.
When you invest in outside resources, your students can learn real software development using professional tools and languages.
Many of the courses teach using the same languages and tools that are used every day by software companies such as Facebook, Google, and Amazon.
What does computer code look like?
Here are two common concepts that are we having illustrated using pseudo-code: conditionals and loops.
Conditional statements allow a computer program to execute a particular section of code based on whether a condition is true or false. Java uses Boolean values to evaluate these conditions. One of two Boolean values (True or False) is returned when the condition is evaluated by the computer.
Here is a snippet of code that determines when the user’s player jumps:
In the above example, if the player presses the space bar on the computer, the user’s player will jump.
Another common coding concept is called a Loop. In this example, a “While Loop” continually performs a command while a particular condition is true, and discontinues the command when the condition is no longer true.
In this While loop, crops will grow in the game as long as the Daytime condition is true.
The above contains just a couple examples of skills students can learn in a gamified format. In the next section, I will go into discussing some of the best programming languages kids should learn.
Before we move on, though… here are some additional reasons you should consider introducing your kids to coding at an early age:
- Computer science builds skills in a number of corollary areas including math, science, problem-solving, teamwork, project-based learning, creative arts, and more. As Steve Jobs famously stated, “Coding teaches you how to think.”
- Learning to computer program is just like learning a foreign language. The earlier you start, the easier it is.
- In 2020, there will be nearly 1 million unfilled tech jobs in the United States due to a shortage of qualified engineers.
- Computer-related occupations make up over 60% of projected new job positions in STEM (Science, Technology, Engineering, and Math).
- Computer programming teaches skills that are instantly relevant in today’s job market.
- Computing powers nearly every industry from education to farming, from law to business, and from construction to medicine.
- Computer engineering jobs rank among the highest-paying for new graduates.
- Coding is the newest liberal art. (Liberal arts were traditionally designed to prepare individuals for civic life and to help students understand the world around them. It is only a matter of time before it is included in core curricula).
3. What are the Best Programming Languages for Kids?
With young students, many parents prefer visual block platforms to start. Some, however, prefer to get their kids typing early.
Java also happens to be the language tested by Computer Science AP exam which is desirable for some of our families.
Another language that has grown in popularity is Python. Python is a scripting language that many consider one of the easiest to learn. It was used to create Instagram, YouTube, and Spotify, and students can even use it to develop a website using Django, a popular web framework.
We are also huge fans of Lua, as it is the scripting language that powers Roblox Studio, one of our favorite kids coding and game development platforms. Lua is easy to read and understand, and Lua scripting with Roblox provides students with a fun way to make their own games and even monetize them online through Roblox Marketplace!
4. Four Important Tips to Follow Before You Get Your Kid Started Coding!
Tip #1: Make it Entertaining
Coding for kids needs to be fun!
Not all computer science educators share this point of view. Many still use the “Hello World” method in which students learn to print the words “Hello World” on a screen.
In our experience, younger kids find this method tedious, and it can dissuade them from learning how to code. We’ve found that it is actually quite easy to get kids to try programming, but actually challenging to keep them engaged.
We recommend staying away from curricula that is too academic and mundane. Instead, focus on fun, engaging courses that match your child’s interests. Many of the best resources come in the form of games that they’d enjoy regardless of the content.
Some students will want to create a custom sword for the best-selling game Minecraft. Others might want to create their own webpage. Listen to these interests and help them find the resources and lessons that will cater to them. After all, anyone would be far more interested in a program that teaches them to pursue their existing curiosity and passion.
Tip #2: Find Local or Online Class
Mark Zuckerberg, the CEO of Facebook, had a computer programming tutor starting in middle school.
While one-on-one tutoring with a quality computer science tutor is an excellent way to learn, it can be very expensive and is not affordable for many families. To combat this, you may also consider searching out group classes as well as online courses that provide live support with real engineers.
The best academies and online courses will have well-crafted lesson plans that build sequentially on concepts like Booleans, Conditionals, Variables, Methods, and more. As coding for kids continues to grow in popularity, you will see an increasing number of options that will hopefully accommodate your child.
Tip #3: Find a mentor
Many developers enjoy volunteering and you might be surprised at how many might be willing to mentor your son or daughter either online or in-person. Whether this is a friend, colleague, teacher, or professional tutor, it can really make the difference.
Interaction with an experienced developer can be invaluable and many times can be performed over Skype or other free video conferencing/screen share solutions. There are a number of companies that specifically offer this service as well, so if you don’t have anyone in your personal circle that comes to mind, research some additional options.
Tip # 4: Understand the difference between visual block platforms & text-based coding.
There are a lot of coding platforms out there that claim to be teaching your kid “real coding languages”. However, most of them will be teaching visual block platforms. This is typically best for beginners or kids between the ages of 5- 7 years old, so it isn’t a ‘bad’ or ‘lesser’ route to take. It is simply important to keep in mind so that you have the right programs for your child’s age group (and so you know exactly what they’re learning).
Visual Block Platforms
We view drag and drop, visual block programming courses as the tricycles of coding. They are designed to be fun and easy, but are also designed to be tools that you outgrow.
Platforms like Code.org, Scratch, Tynker, and others believe that typing should not become an impediment in computer science education. They feel that kids can learn many of the same coding concepts through a more visual, tactile approach. We think that these platforms can be very helpful for younger learners, but that they should serve as a bridge to text-based coding.
Programs such as CodaKid, Codeacademy, and Kahn Academy use real programming languages and professional grade coding tools. But the courses are taught in such a way that students as young as age 8 can follow along and have a fun time learning.
The advantage of this approach is that students gain knowledge creating real software.
Ok, now that you have taken note of the 4 tips before getting your kid started with coding, let’s dive into some free & paid coding platforms available to get you started!
5. Top Free & Paid Coding Games, Apps, Websites, Classes, Curriculum, and More to Get You Started!
First off, if I were to try and list out all the different types of games, apps, websites, classes, and curriculum you would get a bit overwhelmed.
So, I am going to do my best to list out the most helpful ones to get you started on the right track starting with coding material for students at the 5 – 7 age mark. When you’re ready for more resources, be sure to check out my article on the best coding games for kids.
If your kid is between the ages of 5 – 7 years old you want them to begin learning to code using visual blocks.
MIT Media Labs Scratch has designed fun visual block platform that teaches coding concepts while allowing students to build fun games with a lot of creative freedom.
Google CS designed some well thought out lesson plans that kids can follow, and the coolest part of the platform is that student projects are freely available for review.
This allows kids to study the Scratch visual block code that was used to make exciting 2D games like Asteroids, Donkey Kong and more. Scratch also allows students to add their own art, animation, music, sound effects, and voice-over. Scratch does not provide student support at this time.