Interested in finding something worthwhile and entertaining to teach your children for free while they are participating in remote learning at home? Why not teach them about computer programming. This is a skill that will serve them well in life no matter what path they take.
When I decided to start researching resources for my children, I had a few specifics in mind. First, my kids are 5 years apart, so they are at very different levels of education. I knew they would need very different programs for learning coding. When my teenager was 5 we started with some coding games, so she already has some familiarity with the logic involved and would need a different level of instruction than my youngest, who would be starting this for the first time.
Here are a few answers to common questions about teaching your child how to code – and then we will look at which resources are good for your child no matter what age they are.
Why would you want your kids to learn to code?
Why might kids want to learn to code? They can learn how an app works and how to build their own cool games. Coding skills will also teach them to make cool animations for videos and improve their video game skills.
The skills your child will gain from learning to code will help them throughout life. From problem solving skills, increasing creativity, improving analytical thinking and reasoning skills, understanding computer programming and communication skills, to future potential job opportunities. Even if your child never pursues a career in computer programming having an understanding of basic coding is a big advantage.
What coding language should you choose?
Many of the resources below start by using visual block platforms. This is a good early format to get kids interested and engaged in learning visually how programming works.
Once your child’s skills have moved beyond this type of instruction it is best to follow a path that caters to your child’s interests to keep them engaged. Moving from learning visual programming languages based on blocks directly to most development languages would be a stretch. It would be a good idea to start with a language like Python. Python is a very modern language and can teach all the important object-oriented concepts. It is super versatile for so many applications, and it is extremely easy to learn. Once you have mastered Python it will then be very easy to learn new and more complex languages. For example, to learn C++ after you’ve mastered Python is a piece of cake, and Python is one of the primary languages used for AI, robotics, and many other areas, so it is a great language to also use – not just a teaching tool.
What should I keep in mind when choosing a starting point?
The most important thing in getting started is to ensure your child has fun doing it! If your child isn’t having fun they will lose interest and not want to continue. The list below is based on age. You don’t want your child to start using a teaching resource that is too advanced for them or they will get frustrated easily and not want to continue. Start with an age appropriate teaching tool first and then move up or down depending on your specific child’s skills and interest. Most of these programs cater to a range of skills.
Free sites for kids to learn to code
Ages 4-12 (elementary school)
Code.org is a free resource that is based on game-like lessons for grades preK-12. The company is a nonprofit dedicated to increasing access to computer science. On top of their lessons and courses, they have options like “hour of code” for people who only have a short time to dedicate to increasing their knowledge and interest in computer science.
Scratch is also a free resource, good for beginners interested in game development and graphic design. It uses a visual block interface. Scratch was developed through the MIT media lab for kids aged 8-16 with a ScratchJR version designed for ages 5-7. Scratch is a programming language as well as an online community where students can share the projects they create such as stories, games and animation with other people who use Scratch.
Tynker offers a few free and many paid options. They claim they are the #1 coding platform for kids, with 60 million kids worldwide utilizing their services. The flexibility in the program allows you to move at your own pace, making it easy for students to advance when they are comfortable and have mastered the concepts before adding more complexity. This program is good for beginners, and offers game like lessons. Tynker mobile apps can be used on iPads or other devices to make it easy for kids to access it when convenient. This is the program we started with for both of my children as a first resource. It held their attention and they both (boy and girl) enjoyed the challenge and progression of the lessons. It kept them engaged and wanting to continue learning.
Ages 11+ (Middle school)
Code Monster is a free service and is a good supplement with other programs. Code monster teaches Java. Opening this link brings you right into a program with a cute little blue monster that starts giving you instructions in one box and in the adjacent box you can see the results of your work instantly. The program encourages you along the way and you can move at your own pace.
App Inventor is a free service focused on teaching users to create apps quickly using a visual programming environment. The format is a block-based coding program. App Inventor was created through an MIT project.
Scratch mentioned above in the elementary school section is also a good choice for this age group.
Ages 13+ (High School)
Glitch is a service for building fast, full-stack web apps in your browser for free. They offer a subscription option as well. This program does not appear to have “lessons” per se as much as you just jump in and start playing around with creating an app. Multiple people can work on the same project at a time (similar to Google Docs). There is no set up and you can see changes live on the web as you type.
Scratch mentioned above in the elementary school section is a good choice for this age group also.
These are just a few of the resources I have come across. We have no affiliation with any of these programs and they were chosen and evaluated without these organizations’ knowledge. This is by no means a comprehensive list. We encourage you to dig into other resources you find and drop us a line about your favorites for your children.