Heidi Reina, M.S., Ed, is an educational technology integrator. She teaches coding to teens using project-based learning.
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.
These are terrific resources for Computer Science Education Week and Hour of Code. And kids love to code with them at home too.
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.
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.
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.
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.
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.
#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.
#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.
#10 Unity: Game Development
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.
More Free Coding Resources for K-12 Kids, Teachers, and Parents
- Code Club International
Worldwide volunteer-led coding clubs for kids ages 9-12.
- Teach Computer Science & Coding to Kids - CS First
Teach computer programming and coding to your kids with the free CS First curriculum from Google. Students can create fun, interactive projects.
- Girls Who Code
Free summer programs and after-school clubs for teen girls. Explore coding in a fun and friendly environment.
© 2018 Heidi Reina