How to Teach Kids to Code: Apps|Sites|Toys|Games|Courses


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.

How to Teach Kids to Code

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.  Its 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 lets 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.

ScratchJr block coding for kids

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.

The Official ScratchJr Book: Help Your Kids Learn to Code
ScratchJr Coding Cards: Creative Coding Activities Cards

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 the 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!

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 platfom 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 other 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 dor kids (and less difficult for adults too.) Here are a few of our favorites:

Lego Boost

LEGO Boost Creative Toolbox 17101 Fun Robot Building Set and Educational Coding Kit for Kids, Award-Winning STEM Learning Toy (847 Pieces)

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 it’s appeal goes way beyond 12 years old.

Lego Mindstorm

LEGO MINDSTORMS EV3 31313 Robot Kit with Remote Control for Kids, Educational STEM Toy for Programming and Learning How to Code (601 pieces

Lego Mindstorm is more than just a toy, more than a teaching tool, more than a building set. It’s a gateway. I have to stop and wonder how many Mindstorm enthusiasts went on to become engineers, roboticists, AI designers, or developers.

The heart (and brain) of the Mindstorm is a brick computer that controls sensors, servos, and motors in addition to the traditional Lego building blocks. You can get an idea of the capabilities in this programming guide from Washington State Library. The folks at Hackucation did a nice article on the evolution of the Lego Mindstorm.

Want more power and more capability (and more fun) from your Lego Mindstorm? You can connect your Lego Mindstorm to Scratch. For more on this, check out the link to the official Scratch site. Microsoft MakeCode also can connect to the Mindstorm, for another spin on block based coding to text based Java coding. Find instructions and tutorials here.

Lego Mindstorm is recommended for ages 10 and up.

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 SPRK+ Educational STEM coding toy

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 STEM Coding Robot toy

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 though 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 which 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. 

There are a variety of Minecraft games as well as communities to find support and ideas.

Minecraft has an edition focused on Education

But did 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 arbout 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.

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 Subscription box for coding and programming

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.

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.

Complete Ultimate Starter Kit for Arduino with Mega2560
Complete Ultimate Starter Kit for Arduino with Mega2560

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.

Raspberry Pi Kit
Raspberry Pi Kit

Coding Careers

We’ve outlined how to lean 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.

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 of coding.  When a child sees a Dash or Lego Boost perform the instructions they laid out, it’s a more physical “real-world” response (and they’re in control.)

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 weather they wind up as career coders or choose another path.

hevanmiller

H. Evan Miller is as dedicated to fatherhood as he is to life long learning. Musician, Photographer, Educator, Consultant, Entrepreneur, Blogger, and founder of STEMtropolis, where you can share his adventures in STEM and STEAM with his family.

Recent Posts