We live in a data driven world filled with technology. From the servers these words reside on, networks they travel to reach you, to the device you’re reading them on right now. What’s behind all of this technology? Computer code.
Coding can be cool, and is becoming more and more accessible, especially for younger people. We’ll look at some ideas around how to teach kids to code. You’ll be amazed at the number of free coding resources to help get started.
Computer code is woven through our world. From a few simple lines of code to display “Hello World” on a screen to advanced Artificial Intelligence, computer code surrounds us. Some believe that coding is a new for of literacy, and that those without coding or programming knowledge will get left behind. Coding isn’t just for the select few techno-geeks with taped together glasses and pocket protectors.
You don’t need to code yourself to enable a kid to learn how to code or program computers. We’ll get into the details below, so just got with it.
Before we dig into the how, we should touch upon the why. Let’s explore!
Benefits of Coding for Kids
How Early is too Early for Teaching kids to code?
Ways to encourage and teach kids to code
Free programming languages and block based coding for kids
Coding Apps and Programming Websites for Kids
Teaching Coding through Play: Coding Toys & Games
Subscription Boxes for Coding
Moving Beyond Coding Basics
Free Online Courses
Coding Careers
How to Teach Kids to Code – Wrap Up
Benefits of Coding for Kids
Why should we teach kids how to code? Learning to code and program requires a strong sense of logic , and is a practical way to develop a number of skills like:
Problem Solving
Problem solving is the underlying theme of writing code. How do I make the machine or program do “X.” The solution is developed block by block, line by line, and requires a logical mode of thinking and using the tools (or commands) at hand to craft the solution.
Creative thinking
For nearly any program, there are multiple ways to code it. Look at programming pioneer Grace Hopper, who got tired of writing the same chunks of code over and devised reusable blocks of code instead of writing the same functions over and over.
Critical Thinking
Coding and critical thinking go hand in hand. Identifying and analyzing a problem to come up with a solution is inherent to both critical thinking and troubleshooting. Finding (and fixing) bugs and errors in code is a great way to develop critical thinking skills.
Understanding Technology and the world around them
Technology is everywhere. We find computers in our pockets, on our wrists, in our cars, TVs, grocery store checkout, banks, etc. It all runs on code. To most folks, it’s a black box that just works (or doesn’t, as technology has its share of glitches and gremlins.) For people who understand programming languages, it’s more science and logic than magic.
As more of our world depends on technology, coding will increasingly become another form of literacy. Imagine navigating through our world without the ability to read. This could be what coding knowledge is like by the time a baby today graduates college.
Okay, these are great skills for kids to start developing. If we’re going to give children the opportunity to learn programming, when is the best time to teach kids coding skills?
How Early is too Early for Teaching Kids to Code?
Computer scientist and professor J. Paul Gibson noted in a Wired magazine interview, “Children aged from 5-11 have so much potential for learning about algorithms and computation that it would be a shame to wait until they are teenagers before we teach them the foundations.”
Code is written in an assortment of computer languages like Java, C++, Python, etc. The key word here is “languages.” Think how children learn to speak and express their thoughts, or consider kids that grow up in bilingual households or learn to speak multiple languages at an early age. We can think of the concepts of coding language in a similar fashion. It’s simply easier for kids to learn when their younger.
Related Article: STEM in Early Childhood Education
There are coding languages we’ll get into below that are a great way to get children coding at an early age.
…”you can start teaching computer science before students even know how to read and write.”
J. Paul Gibson
When Gibson had difficulty teaching coding to teens, he found he had better success with 8-9 year olds, which got him wondering how young is too young. He found he could get 5-6 year olds writing tic-tac-toe programs. “We believe our work shows that you can start teaching computer science before students even know how to read and write.”
Perfect, coding is easy enough that preschoolers can do it. Now let’s take a look at where to get kids started coding.
Ways to encourage and teach kids to code
There are an astounding number of resources available for kids (and adults) to learn how to code. Some are free, some have free trials, and some can be pricey. We’ll take a look at a number of options aimed at beginner to advanced levels of knowledge.
Coding can be intimidating or scary – if you let it. The key is to choose the right tools (or language), make it fun, and let kids play and explore.
Free programming languages and block based coding for kids
ScratchJr
This is a great starting point coding for little kids. Our 5 year old loves to play games on a tablet, so we started him on ScratchJr. When I first loaded the app and set it up, I’ll admit to losing myself for an hour or so just playing with it. It was easy and fun.
We were a bit disappointed to find that ScratchJr does not load on a Kindle Fire (it used to, but Amazon pulled it from their app store.) We loaded ScratchJr on a smart phone, and even though it’s a bit of a small screen, our fledgling coder couldn’t be happier.
After a bit of fiddling around just to see what the controls do, he made a scene with the ScrathJr cat hanging out on a beach where a crab wanders over and jumps up on him. So simple, it took a handful of blocks and a few minutes to create.
It’s not going to win any awards, though he was thrilled with the act of creating and was proud of himself. He wanted to show everyone in the house. Then, without missing a beat, it was off to editing all of the characters and changing the colors.
From the ScratchJr Website, “Coding (or computer programming) is a new type of literacy. Just as writing helps you organize your thinking and express your ideas, the same is true for coding. In the past, coding was seen as too difficult for most people. But we think coding should be for everyone, just like writing.”
ScratchJr is recommended for ages 5-7, and is built on the same concepts as Scratch.
ScratchJr has a book and some coding cards if you need a little direction or inspiration. Check the latest prices on Amazon (affiliate link.)
Scratch
Scratch is a block based drag and drop coding language developed by MIT, and is what ScratchJr is based on. Scratch allows for coding without actually writing a single line of code. How do you code without writing code? It’s a concept called block coding, where you can control actions by dragging and dropping “blocks” and chaining them together.
As simple as it is, it’s pretty powerful and easy for kids to get started with coding and seeing their creations quickly. Additionally, it takes much of the frustration of troubleshooting syntax out of the picture and focuses more on the logic and creativity of building with code.
More than that, Scratch is an online community. Kids can share their programs or play with programs and games written by others. In fact, playing with and reverse engineering already created programs is a great way to learn.
With drag and drop blocks, Scratch is a great way to learn coding concepts and see if a child has an interest and aptitude for coding. While it teaches fundamental logic and critical (and creative) thinking skills, it’s not teaching an actual programming language. And that’s okay – children can get a solid foundation in Scratch and transition into other platforms that are more advanced.
Scratch is recommended for children ages 8-16.
Tynker
Tynker is similar to Scratch in its block based approach for early aged students, with a plan to move students toward text based coding as they progress. Tynker has a free trial, and is a monthly subscription from there.
Tynker is offering Free access throughout pandemic related school closures.
Stencyl
Stencyl is downloadable software (Windows, Mac, & Linux) focused on learning to code games on platforms like iPhone, iPad, Android, Windows, Mac, Linux, and HTML5. Code in block or text, depending on experience level and ability. The “Starter” program is free and allows games to be published to the Web. Stencyl offers paid subscription tiers that allow the ability to publish and sell games on other platforms.
Geared for kids 12 and older, Stencyl’s ability to sell games right on the platform could be that first coding job. Cha-Ching!
mBlock5 is a coding platform used by Makeblock to control its series of robots. It offers both block based coding (much like scratch) and text based coding like Python and Arduino. The split screen view is great to allow kids to add blocks of code and see the equivalent line(s) that get added in the text editor. As kids get more fluent with the code, they can start to code directly in the text editor.
Coding Apps and Programming Websites for Kids
Code.org
Code.org is a non-profit organization offering free coding resources online. Boasting 40% of US students with accounts, Code.org has helped some 49 million students get their start programming. Classes range from Kindergarten through High School and cover block coding, JavaScript, Python, C++, CSS, HTML and more.
Don’t have much time to invest? Try their “Hour of Code,” designed to provide a tutorial and project that can be completed in an hour.
CodeMonkey
Code Monkey Code Monkey is a platform designed to teach kids to code by playing a game and progressing through levels. There are a number of games to choose from to offer some variety. Code Monkey is recommended for ages 8 and up, and has a free trial with a paid subscription tier.
Kodable
Kodable is another noteworthy site offering an online platform and app designed for teaching kids to code. Starting with block coding for younger kids and transitioning to programming languages like Java and Swift, Kodable is a platform of choice for many schools.
Kodable has a free trial and monthly subscription (or save a few bucks getting an annual membership.)
CodeCombat
Code Combat lets your kid (or you) take on the role of a wizard who uses spells (code) to solve puzzles, defeat monsters and save the day. Playing the game teaches kids coding languages like Java and Python. Over 5 million players are learning coding skills in 190 countries through CodeCombat.
Recommended for children age 6 and up, Code Combat is text based coding (as opposed to block based like Scratch.) That doesn’t leave kids on their own with a blank screen, CodeCombat features auto completing and hint systems that guide kids towards creating proper code.
Also check out Ozaria, an adventure game, and a fantasy story designed to teach Computer Science concepts. Good Stuff!
Like many of the others, CodeCombat and Ozaria offer some free content as well as a paid tier.
Code Avengers and Codemoji are a few others to check out in a crowded playing field of coding apps.
Teaching Coding through Play: Coding Toys & Games
When you have a hard or daunting task to do, making it into a game turns it into fun. There are plenty of toys and games designed to make learing to code fun for kids (and less difficult for adults too.) Here are a few of our favorites:
LEGO Boost
Build. Code. Play. – It’s right on the box and sums up the thought behind Lego Boost perfectly. If you or your kids ever wanted to build robots or bring their Lego creations to life, you’ll want to take a look at this kit.
The Boost set includes pieces to build five different robots: Vernie the Robot, Frankie the Cat, the Guitar 4000 (which plays music), the Multi-Tool Rover 4 (kid of like a bulldozer), and an Autobuilder, which is like an assembly line robot that can build small Lego creations itself.
These can be controlled with an app that gamifies learning to code. Through the app, kids (or curious adults who like to play) can control the robots and play games.
Lego Boost also has a Star Wars set worth checking out: LEGO Star Wars Boost Droid Commander
Lego Boost sets are “officially” marketed for 7-12 year olds, though I’d give that range a bit of leeway on both ends. Younger kids building with Legos can get a head start coding with this kit, and its appeal goes way beyond 12 years old.
Makeblock STEM Robot Kits
Makeblock has a series of STEM robot kits available. They’re fun to build; you can follow the LEGO-style instructions or build your own designs. Not only do you get to build the robots, they’re also fully programmable.
These kits support a variety of programming options like block coding, Python, or Arduino; so these are great for beginners to advanced users. (They use the mBlock5 platform mentioned above.)
You can read our full review of the mBot Ranger for more details (spoiler: we loved it!) We also like the Makeblock mBot Neo, which is like the Ranger’s little brother. Check out our review of the mBot Neo for more details.
If you like playing and coding rather than building, Makeblock has a number of pre-built coding robots available like the Codey Rocky pictured above with its block coding app. This little guy is ready to go out of the box and you can be remote controlling or coding within moments of unboxing. Check out our full Codey Rocky review.
Sphero SPRK+
The Sphero SPRK+ is a robot ball with programmable sensors including a gyroscope, accelerometer, motor encoders, and LED lights. The ball is made from clear plastic, so you can see the “guts” of the robot as it follows commands and rolls around.
Sphero is controlled through an app which includes some sample programs so you can start having fun right away. The sample programs also serve as examples to learn from.
Sphero can be programmed using draw and drive commands, drag and drop block coding (Scratch blocks), or JavaScript for more advanced users. Playing with the Sphero, kids learn real world transferable skills. Challenges for different skill levels scale with a child’s ability.
Tired of coding and just want to play? You can also use the app to directly remote control the Sphero and just drive it around.
Dash Robot
For a great way to get kids stared with coding, we’d suggest taking a look at the Dash robot from Wonder Workshop.
Dash offers an open-ended learning platform making coding simple and accessible, helping kids gain a foundation of programming through play.
Kids can control the Dash Robot with voice commands and explore coding concepts like loops, events conditions, and sequences. Dash is programmable through apps that can be run from most tablets or smart phones.
Dash is used in over 20,000 schools and is gaining popularity in classroom use, so you know it’s a top choice for educators to get kids started in coding concepts.
Kids can explore, collaborate, and compete through the Wonder League community platform.
The Dash is also expandable with challenge cards or add ons like a catapult launcher kit. or a xylophone kit that allows kids to compose songs or remix tunes or provide a light show.
Minecraft
We could have a whole website about Minecraft. If you’re not familiar, Minecraft is often described as a “sandbox video game.” I’d describe Minecraft as digital LEGOs that you can interact with and adventure in a virtual world. It’s more than just a video game, it can be educational.
There are a variety of Minecraft games as well as communities to find support and ideas.
You know you can make Minecraft Mods? You can make custom objects and bring them into the Minecraft world through Java. Code.org has some Minecraft content and tutorials as well.
University of California, San Diego offers a free course about coding using Minecraft called Minecraft, Coding and Teaching. The course is geared for teachers using Minecraft in the classroom, but there isn’t any reason for kids not to check it out as well.
Read more about how Minecraft can be used to teach STEM and the benefits of Minecraft.
The toys here are just scratching the surface. For a more in depth round up of coding and programming toys for kids, check out our Coding Toys post.
Subscription Boxes for Coding
The regular monthly nature is a great way to keep a schedule with new coding activities and get kids looking forward to receiving the next box. As a kid, it’s still fun to get mail!
Bitsbox
Teach your kid how to code (parents don’t need to have coding skills to help!)
Bitsbox kits are geared toward coding and programming and contain everything kids need to build an app themselves. The apps can run on a web browser, smartphone, or tablet – so kids can share the coding projects they create.
Kids (or adults) don’t need to have any programming chops to get started. Projects range from a few simple lines of code to more advanced projects like games.
If the intended child is already familiar with programming – say Python, Java, or something of the sort, they may be beyond Bitsbox. If they have some experience in block based coding like Scratch, this is the perfect next level up.
Kids can work just within the framework outlined in the directions, or use what they learn to get creative with the coding by adding additional objects or variables to objects and seeing the effect.
Bitsbox is geared for age ranges 6-12
MakeCrate
Make Crate is an engineering and coding subscription box geared toward middle school kids and up. Projects are on the level of making things like Motion Sensor or LED message boards.
Each month’s box contains parts and instructions to complete at least 2 projects. Subscription boxes are paired with online content, videos, and courses to supplement the delivered package.
There are 2 subscription options to choose from: Everyday Machines or Robox. Subscriptions range from a single month, 3 months, 6 months or year long.
To get you started, MakeCrate has some free online coding courses.
Creation Crate
Creation Crate offers subscription boxes that get kids building.
Projects range from building a working FM radio, an infrared security alarm sensor or a a weather device measures temperature and humidity, to give an idea of the range of projects.
Related Post – Check out great picks and ideas for STEM subscription boxes.
Moving Beyond Coding Basics
Scratch and similar block based coding is a great way to get kids started and develop basic coding skills and logic. Some platforms transition from block based to text based programming.
How can you continue to teach kids coding once they’ve outgrown the basics? If they aren’t learning coding in school, or want something more advanced or different than what is taught at school, there are a number of online courses available.
Free Online Courses
Code Academy is a free coding website focused on text based coding for older students through online lessons. It’s not open ended, so students aren’t creating their own apps, though it’s a great resource to learn and you can’t beat the price. (There is a paid tier for more advanced courses.)
Khan Academy teaches programming through video lessons and tutorials. You’ll also find lessons on Math and other topics.
Udemy has a large number of coding course, including this free one: Programming for Kids – How to Make Coding Fun. It’s a series of 20 bite sized videos that are about an hour in all.
Check out our distance learning post for a giant list of FREE online courses in coding in programming.
Aside from online coding courses, there are some cool coding projects that can be done on inexpensive and versatile hardware.
Coding with AI
Kids can use artificial intelligence chatbots like ChatGPT, Gemeni, or Claude as an interactive tool to learn coding by engaging in conversations where they ask questions, solve coding puzzles, and receive explanations about programming concepts.
ChatGPT and similar platforms can guide kids through the basics of various programming languages, explain syntax and logic, and even challenge them with simple coding tasks. By providing instant feedback, ChatGPT creates a dynamic learning environment where kids can experiment with code snippets, understand errors, and correct them in real-time.
This approach not only makes learning to code more engaging but also helps demystify complex topics, making programming accessible and fun for young learners (and adults – I’ve used ChatGPT myself to help sort out some pesky errors.)
Arduino
Arduino, is an open-source electronics platform. Being open source, you can take the totally DIY approach, or you can get started with an easy to use kit. For what an Arduino unit can do, there are starter kits that are reasonably priced.
Arduino is used in a number of applications. It powers the mBot Ranger robot kit we mentioned above.
Raspberry Pi
Similar to Arduino is another open platform, Raspberry Pi. Raspberry Pi is a single board computer that runs on Linux. The credit card sized board can plug directly into a computer monitor (or TV), keyboard, and mouse. It’s another opportunity for kids to get into coding, programming, and DIY products with a small price tag.
Coding Careers
We’ve outlined how to learn to code, and where to find resources. Where does all that experience and knowledge lead? What kind of careers are available in coding? Here are just a few of the job titles the require programming and coding skills:
- computer programmer
- game developer
- machine learning researcher
- mobile app developer
- programmer analyst
- robotics programmer
- software developer
- web developer
How well are programmers and coders paid?
Most of the jobs we listed above start in the mid $80,000 range and go up from there. For instance, Software Developers make an average of over 105,000 per year (over $50 per hour), and noted by the Bureau of Labor and Statistics.
Looking for a programming job or coding opportunities? Check for listings at FindSoftwardDeveloperJobs.com and start or upgrade your career
How to Teach Kids to Code – Wrap Up
As you can see, the number of resources geared to get kids started coding is dizzying. From absolutely free to premium platforms, there are a ton of choices.
We’re starting to expose our kids to some of the free programming tools like ScratchJr and Code.org early on. This way we can see if they develop an aptitude and desire for it. We’re really investing only the time to work with them and get them started, and it’s fun just to play with them and see what they do.
If they grow beyond the free tools, then it’s time to start looking at some of the premium platforms. By then we’ll have an idea of what interests and motivates them, and pick something appropriate. Or perhaps they’ll have other interests entirely, and that’s okay. Sometimes finding what you want to be when you grow up is as much about discovering what you don’t want to do as it is finding your passion.
Our kids always love playing with new toys, and are fascinated by robots and gizmos. Toys can give kids a more tangible view of the “cause and effect” aspect of coding. We’re finding the Makeblock robots are becoming our favorite platform for coding with our kids. When a child sees a robot perform the instructions they laid out, it’s a more physical “real-world” response (and they’re in control.)
The Codey Rocky is a great place to start, and is pretty much ready to go right out of the box. If you’ve got a kid that loves building, try the mBot Neo or Ranger.
Kids may not code the “next big thing” playing with a toy robot, though these tools give them another way to learn coding and programming fundamentals. Through play, kids learn critical thinking and problem solving skills, which are vital whether they wind up as career coders or choose another path.
Related Posts: find out the best age to start coding or some awesome coding toys.