There is a wealth of free resources available that help you understand the basics of programming. You don’t have to pay thousands or even hundreds of dollars for an editor, text books, or classes. However, the one downside is that many of these resources aren’t very fun, at least fun for kids.
Here are some free websites that introduce kids to the Python programming language in a fun way. Python may be easier to learn for beginners than other popular languages like Java or C++.
Aspiring coders get to actually build a game in this collection of easy programming lessons. All of the code is provided for kids to follow step-by-step. Inquisitive kids may want to tweak parts of it and see what happens.
Scary Spot the Difference introduces learners to PyGame. PyGame is a library of Python files created just for game development, a subject for kids who are interested in building games.
Target Age: Elementary and middle school kids
If you can only buy your child just one book about Python, it should be Python for Kids. This single volume covers the basics of Python with fun, easy-to-understand example code and exercises. Readers learn how to download, install, and get started with Python in the first few pages.
Each chapter ends with a helpful summary of the material just learned. Kids discover how to work with graphics, build desktop applications and develop games. Python for Kids is packed with information and should be on every young coder’s bookshelf.
Target Age: Elementary school kids
Elementary school readers can learn the basics of computer programming with this easy introduction from DK Publishers. It’s highly visual and well-organized into easily digestible chunks of information.
Computer Coding explains the key ideas behind programming such as variables, loops, and if/then statements. Each chapter features a practice exercise to help kids solidify their understanding of the material. The solutions in the back of the book allows kids to check their work and serves as an excellent reference.
Code for Life (tool)
Code for Life is a versatile platform for learning and teaching coding. Teachers can easily let students work independently on the Blockly puzzles — especially as they begin to learn basic coding principles. Using the teacher dashboard, it’s also easy to monitor skill development.
The best way to use Code for Life, however, is to take advantage of its comprehensive lesson plans. These incorporate unplugged activities and suggestions for discussions to truly build students’ conceptual knowledge. For students who aren’t particularly interested in simply doing coding-related puzzles (a drawback of many learn-to-code platforms), these lessons are effective ways to go beyond mere skills and pique the interest of students who like collaboration, hands-on learning, and discussion.
Target Age: Elementary and middle school children
Coding Projects in Python is organized much like Computer Coding. It begins with a similar, although much more thorough, discussion of essential programming concepts. Kids work through projects like drawing graphics, creating animations, building a desktop application, and solving simple math problems.
Target Age: 11-15. According to the authors, kids as young as 8 can complete most of the book.
Minecraft is a video game in which kids roam through a virtual 3D world.
Adventures in Minecraft shows readers how to expand the game’s potential through a series of “adventures”. Each chapter describes the adventure, a Minecraft project kids complete with Python programming.
Projects include controlling the avatar with code and automating repetitive tasks the player must complete during the game.
CodeKarts (4+; iOS/Android)
A pre-coding game for preschoolers, players learn to develop observational skills, concentration, and logic by guiding a car through various tracks.
CodeSpark Academy (5-9; iOS/Android/ Kindle Fire/Windows)
With over 1,000 fun activities and a simple-to-use interface, CodeSpark Academy is the perfect app to introduce kids ages 5-9 to programming.
Scratch Jr. (5-7; iOS/Android/Kindle Fire/ChromeBook)
With ScratchJr., children ages 5-7 can program interactive stories and games to solve problems, design projects, and express themselves creatively on the computer.
Move the Turtle (6-12; iOS)
Using visually engaging graphics, kids can implement various programming concepts to direct a virtual turtle and complete unique tasks.
Swift Playgrounds (8-12; iOS)
Swift is a programming language for developing Apple iOS programs and apps. Especially useful for beginner programmers (even those with no Swift experience) Swift Playgrounds lets kids work at their own paces with visually appealing and educational challenges.
Hopscotch (4-11; iOS)
Create games, art, stories, and more with kid-friendly programming. Kids can program and publish unique creations to Hopscotch’s fully moderated community, where others can play and learn from their creations.
Mimo (15+; iOS)
Mimo puts the power to learn in your child’s hands! With over 23 different courses to choose from and comprehensive lessons, Mimo enables kids of any age to begin programming and advance their skills.
Codea (13+; iOS)
A fully customizable code editor, Codea allows users to introduce all the colors and visual aids they may desire to assist in their programming efforts. It’s a free programming for kids app that lets your child turn thoughts into interactive creations.
Coding Safari (2+; iOS)
With a focus on pre-coding skills like problem-solving, decomposition, and computational thinking, Coding Safari is engaging and educational for children as young as two years old!
Algorithm City (8+; Android)
Algorithm City is a 3D style game where kids can learn the basic concepts of programming, such as command sequencing, functions and loops, and more. Make a character progress by collecting gold and solving levels.
LEGO Boost (7-12+; iOS/Android)
Lego Boost is an app that allows kids to build different Lego models and program them with code. Children can program their models to make sounds and move using drag and drop code.
Daisy the Dinosaur (5-7; iOS)
This app teaches basic programming concepts like sequencing and conditionals in the form of fun little challenges. Make Daisy the dinosaur move, jump, and dance with drag and drop commands as kids experiment and learn.
Students can learn to sequence with this app by choosing the preset actions of their robotic arm and putting them in the right order. These challenges can help students to think concisely and find the simplest solution to a given problem.
Get it now
Cool robots and creative play make programming irresistible
Teachers, media specialists, and makers can best use Sphero Edu to help kids embrace STEAM philosophies. When they work together and build on each other’s programs, students experience the collaborative nature of careers in science and technology. Kids learn that engineering is a creative process when they thoughtfully make a program for their robot and persist when that program fails.
Teachers can sign up for an instructor account and assign activities for students. Start with the provided introductory modules to help students learn how the robot works. After they see the potential of the Sphero robot, let them loose to plan their own projects. Kids will be clamoring for paint, water, glue, and cardboard to build environments for their robot to navigate. Whether your budding programmers are working in a school library or a classroom, be prepared for some highly productive noise and mess.
Run Marco (6-12; iOS)
This game uses simple commands like “move one step forward” and “repeat” to help students learn how to sequence a set of actions. Children will learn to modify their code to complete the task at hand, as well as design their own levels.
SoloLearn: Learn to Code (ages vary; iOS/Android)
Grasshopper (ages vary; iOS/Android)
Rox’s Secret Code (5-8; iOS)
Kids can explore the basic principles of coding with this app by helping Rox, a code whiz, debug a “Chorebot” that was programmed to help clean her room, but begins acting out on its own.
DCoder (ages vary; iOS/Android)
DCoder is a mobile code compiler. This app is meant for more experienced individuals who are looking for fast and easy ways to compile and run their programs on the go!
Ever heard of robot fighting? Well here is a cool alternative! RoboCode lets kids build a robot in Java or .NET in order to compete against other robots.
This is a resource for students who want to learn a programming language by themselves, but still want the support of an experienced community of people! StackOverflow is a question and answer site meant to answer a diverse range of computer science questions.
Coursera (ages vary)
Offering more than 1,000 courses from 119 institutions, there are a number of free introductory programming courses in various specializations from universities. This lends itself as a very versatile and valuable tool in learning code.
Free Code Camp (ages vary)
Every coding course for kids should include Python because it has everything you need to get started. If that wasn’t enough, Python has gained massive popularity in recent years. It is among the top 10 most popular programming languages out there.