Updated date:

Coding for Kids: Free Top Ten Programming Tutorials and Apps

Heidi Reina, M.S., Ed, is an educational technology integrator. She teaches coding to teens using project-based learning.

Hour of Code at San Jose Public Library

Hour of Code at San Jose Public Library

There are many online tutorials to teach kids how to code, but not all of them are free. I've been teaching coding for several years, and the ones listed below are the best free tutorials I've found for K-12 students.

The tutorials are listed in order from beginning coders to advanced teen programmers. They include lessons in HTML, CSS, Javascript, Python, Java, C, and more.

These are terrific resources for Computer Science Education Week and Hour of Code. And kids love to code with them at home too.

#1 Code.org: Block-Based Javascript

Many kids and teachers are already familiar with Code.org. This non-profit started the annual Hour of Code each December in classrooms and libraries across the world. Millions of K-12 students have coded, using their one-hour tutorials provided by dozens of partner organizations.

But Code.org also has an extensive curriculum by grade level for K-12 kids and teachers. Even pre-readers can learn to code from their self-paced tutorials. And teens can learn to program apps using the site's Javascript block-based tutorials.

This is the premier stepping-off point for kids to learn to code. Code.org also provides links to other resources where kids can learn more coding. Be aware that some, but not all, of these resources are free.



#2 Blockly Games: Block-Based Javascript

Blockly Games is a Google project. It consists of eight beginner-level games that teach kids (grades 3-12) how to use images, animation, and music in Javascript. The emphasis is on using conditionals and loops to create increasingly complex code.

As the student successfully completes each level of coding, she will see the Javascript code she "wrote" to accomplish it. The final game is an open-ended contest to program a smart duck. Kids can use either block-based coding or Javascript.

Several developers of children's programmable devices, such as Wonder Workshop's Dash, use Blockly. Kids understand programming on a whole new level when they manipulate physical objects—not just screen characters—with code.

Blockly Games

Blockly Games

Dash + Blockly Code = Hours of Robotics Fun

#3 Scratch: Block-Based Coding

Scratch is one of the first visual block-based programming language designed to help kids learn to code. There are two versions of the language.

ScratchJr is an app developed by MIT and Tufts University for kids ages 5-7. You can download it for iPhone/iPad, Android devices, and Kindle Fire (although as of this writing, it is not working on the newer Kindle Fire devices).

Scratch, for ages 8-16, was developed by MIT, and is available online and also as a software download. A dozen tutorials guide kids through how to use its features of animation and multimedia to create innovative projects. A new version, with improved graphics, will be released early in 2019. Note that this online coding platform is not compatible with all browsers. Check the site to see which ones it currently supports.

Because of its longevity and extensive base of kid coders worldwide, several vendors have created products that can be coded in Scratch. These include robotic devices such as Lego Mindstorms and Arduino robots.

#4 Khan Academy: HTML, CSS, Javascript, and SQL

Khan Academy's programming course is an excellent self-paced curriculum. It introduces kids in grades 6-12 to the languages that are core to the Internet—HTML, CSS, Javascript, and SQL (for databases).

With free online registration, students can progress through the course, earning points as they go. Teachers and parents can also track their kids' progress.

If you're not already familiar with Khan Academy, be sure to look at its fantastic free learning resources in every subject area for K-12.

Kihan Academy Programming Course

Kihan Academy Programming Course

#5 Alice: Block-Based Java

Alice 3 is a rich 3-D programming environment inspired by Alice in Wonderland. Carnegie Melon University developed this animated world to teach Java to middle school students, so it includes many tutorials and lessons.

Like Scratch, it is block-based coding. But unlike Scratch, it has a way for kids to transition to its programming language, Java. It ties into the NetBeans programming environment for Java. And it provides lessons and exercises to help kids transition from block-based Alice to pure Java.

Alice is not online; you download the software to your computer. There are versions for Windows, Mac, and Linux.

Alice 3

Alice 3

#6 Trinket: Learn to Code in Python

Time to wean kids off the training wheels of block-based coding. Trinket.io does it by starting with block-based code, but quickly moves kids to programming text.

Kids in grades 6-12 learn the basics of the Python programming language through a series of lessons and interactive challenges.

Note that there are free and fee-based versions of Trinket. I have found the free plan was adequate for self-paced tutorials.



#7 Swift Playgrounds: iOS Apps

Apple offers kids who want to code apps for their iPads and iPhones a unique learning tool, Swift Playgrounds. This is a free iPad and Mac OS app with lessons and challenges that introduce kids in grades 6-12 to elementary coding principles and increasingly complex algorithms.

The code kids create can be imported to the Swift and XCode IDE, the professional development tool for Mac and iOS systems. And kids can also use Swift Playgrounds with several robotic toys, including Lego Mindstorms EV3.

Swift Playgrounds has two free associated Teachers Guides available on the Apple Store from Apple Education:

#8 Harvard CS50 - Introduction to Computer Programming

Harvard's CS50 is one of the best available comprehensive introductory coding courses available online. CS50 is offered through edX, and registration is required on the edX site. The course is best suited to students in grades 11-12.

Note that there is also an AP version of this course for high school students.

Teens will learn C, Python, HTML, and CSS. They'll learn how to code in an integrated development environment and how to use debugging tools to fix their code.

Students can get assistance for assignments in one of several forums available for this course. They'll submit their completed assignments. And the assignments will be automatically checked and graded for appropriate syntax and validated that the code works as required by the assignment.

CS50 is a 12-week course. But because of the time required, it could take 15 weeks or more to complete. The course is free, but if the student wants to receive formal certification, there is a fee.

#9. C# for Absolute Beginners

C# is the coding language most commonly used on the very popular game design platform, Unity (which is #10 on this list). C# Fundamentals for Absolute Beginners helps students learn the basics of programming in C#. And they'll learn how to install Microsoft Visual Studio, an integrated development environment for C# that makes it much easier to code.

This course is part of Microsoft Virtual Academy, which offers dozens of free coding courses for its platforms. These courses are best suited to kids in grades 9-12 and adults.

Microsoft Virtual Academy

Microsoft Virtual Academy

#10 Unity: Game Development

Unity is the most popular software for 2D and 3D game development. It is free for personal use, and it has several free tutorials to help students get started.

Because of its complexity, it's best suited to students in grades 11-12 who have learned some C#. C# is the primary scripting language of Unity, and it is used in the tutorials.

When students complete their game, they can compile it to run on PCs, Macs, iPhones, iPads, and xBox, among others.

Note that Unity and the tutorials to learn it are free. But the Asset Store has many game items that you must pay for. You do not need to use these fee-based items to create a game.

And if your kid wants to put his game on iTunes App Store or Google Play, he will have to pay a fee for that.

If your teen seems overwhelmed by Unity, have him try Alice (#5 on this list) first. Alice is also a 3D game development tool with camera views and a similar layout for creating games.

Unity Game Development

Unity Game Development

More Free Coding Resources for K-12 Kids, Teachers, and Parents

© 2018 Heidi Reina

Related Articles


Early Childhood Education: Choosing a Preschool Program

Choosing a preschool program is a difficult choice for parents seeking a quality early childhood education curriculum for their children. This article addresses several areas of concern and suggests questions and observations parents should make before deciding on a preschool program for their child.