We’re living in an age where technology touches pretty much every aspect of life. As skills with technology and the languages that control it become increasingly important, parents want to get their kids exposed to coding as early as possible. Not only for the important skills coding can impart, but for development of the key problem solving skills and sequential thinking that are important in pretty much all aspects of science and technology.
Python is an extremely popular programming language and, for kids, Python can be an great language for developing skills in real coding. It’s relatively intuitive to use, letting kids more or less jump right in, its commands are in plain english, there are a lot of online resources for it. Perhaps most importantly, it’s used in many sites and applications that kids use on a daily basis, such as Dropbox, Youtube, Instagram.
But with tons of online options out there offering classes in python for kids, it’s hard to know which courses are worth it. That’s why we’ve compiled a list of our favorites that should help your kids get coding in python quickly and effectively.
In a rush? Check out our top picks
|Best Variety of Projects||Codakid|
|Most Immersive RPG Learning Experience||CodeCombat|
|Most Applicable Real World Coding Project||CodeMonkey|
Codakid – Best Variety of Python Projects
Course: Game Programming with Python
Go from beginner to proper Python programmer while coding a wide variety of games in this complete course from CodaKid
Price: From $25/mo ($99 as a gift)
Recommended for Ages: 11+
|What we Like||What We Don’t|
|Full suite Python program – takes kids from beginner to more advanced level Python||Not the cheapest course out there|
|Kids can develop several custom video games as projects- from arcade to fighting games||Each project is kept short so video games projects aren’t overly detailed or in-depth|
|Highly engaging and enthusiastic instructors keep things interesting for kids|
|Courses start from zero knowledge of Python and work to fairly advanced concepts, such as inheritance and client-server interaction|
|Subscription gives access to all of Codakid courses for further learning|
Codakid’s Python Game Programming Course teaches kids Python by taking them on a journey through video game development of a variety of video games.
A project based course, kids learn python coding by developing several of their own custom 2D games. These are:
- Fishy (beginner) – kids learn the very basics of python and program a relatively simple, collision-detection game where the player helps fishy grow by eating other fish.
- A survive-the-robots game (Intermediate) – Building on the skills they developed coding Fishy, kids learn new skills in order to create a survival type game where the player fights off wave after wave of evil robots.
- Codakid Smash (Advanced) – Broken across two courses, students use fairly advanced coding skills to create a fully functional multiplayer battle royale fighting game in the vein of Super Smash Bros.
In total, there are 4 courses centered around creating these projects (the last covers two courses due to its complexity).
Each course is centered around creating a particular game and is broken up into smaller, shorter lessons (34 in total) that focus on coding particular aspects of the game involved. One lesson, for example, might be about setting collision detection so characters don’t just pass through objects (or each other), while another lesson might be in introducing power ups and items and setting rules for them.
At usually less than an hour long, lessons are long enough to convey the information necessary but short enough to not overwhelm the student or inundate them with new concepts, which we like. These lessons are taught by Codakid’s engaging instructors who do a pretty good job at teaching concepts clearly and thoroughly while keeping kids from getting bored and turning out. If you haven’t seen these instructors before, they are very much like popular YouTube hosts, bringing a lot of enthusiasm and energy to each lesson.
The projects themselves, i.e. the games kids code, are pretty varied and cover several game genres – a simple arcade-style Feeding Frenzy type game, a robot survival game and a multiplayer fighting game. While the course doesn’t go too deeply into any one game and keeps the games themselves fairly short, this variety does help keep learning fresh and interesting and increases the likelihood that students will work on a type of game they really enjoy rather than one long game that they may not.
At the same time, the increasing complexity of the games means kids will keep challenging themselves and their coding skills. Starting with relatively simple concepts like functions, booleans, loops and strings, through these projects kids ultimately learn some fairly advanced concepts such as client-server interaction, collision handling, game physics, inheritance and advanced data structures.
Finally, as they complete different sections of the course, kids earn badges and experience points that will appear on their dashboard, which we feel is an extra bit of gamification that can further help kids stay motivated and coding.
Overall, Codakid offers an excellent and effective full-suite Python for kids course. With a diversity of game projects to work on, kids will go from learning the basics of Python to more advanced concepts pretty quickly and in a way that appeals to them.
Lessons are short, to the point and taught by high quality instructors with a ton of enthusiasm and energy, which helps kids stay focused and interested.
CodeCombat – Best for fantasy and RPG game fans
Price: Free for basic account, $9.99 for premium
Recommended for Ages: 9+
|What we Like||What We don’t|
|Affordable way of getting into Python||Doesn’t support mobile devices|
|Gets fairly deep into Python||Kids not into RPG Style fantasy games might have trouble engaging with the program and coding|
|Immersive game environment is great for kids who love RPG and fantasy games||Graphics are somewhat basic|
|Great for homeschooling parents due to teacher controls, lesson plans, and standards-aligned curriculum|
|Large number of levels offer good opportunity to develop advanced Python skills and drill already learned skills|
If your kids are fans of video games, role playing games in particular, CodeCombat might be right for your family.
As kids explore and do battle across over 400 levels of forests, deserts and icy mountains in an immersive fantasy role playing game (RPG), CodeCombat teaches them the basics of Python, as well as key concepts in computer science.
Levels are centered around completing certain missions or tasks and, in order to move around and interact with the environment and different characters, kids have to learn and execute a certain concept or series of codes in Python.
While the game starts off simply enough, teaching basic syntax and the fundamentals of Python coding, it can get fairly advanced depending how far the student progresses – for example, teaching string comparison and relational operators.
In addition to the game itself, CodeCombat has a resource page for educators (and parents) with lesson plans, exercises, activities, and writing prompts that are available to help integrate the program into a more formal standards-aligned curriculum. If you’re a homeschooling parent you can also sign up for a teacher account, which comes with a dashboard for monitoring and tracking student progress and lets you control level access.
That said, due to its fantasy setting and its game-immersion, CodeCombat’s learning is a bit more abstracted from real-world Python applications. Learning to code a fiery potion to throw at your enemies is a bit less applicable in the real world than, say, building a web app – even if the coding logic is fundamentally similar.
It should also be noted that CodeCombat is probably best for kids who already like fantasy games. Kids who are into multiplayer fighting games or first person shooters might not respond to the game’s expansive and immersive RPG setting so readily, and the game’s 2D graphics, while cute and cartoony, may not impress kids raised on more sophisticated game options.
However, CodeCombat does teach kids fairly important coding concepts, gets them problem solving and using proper Python syntax and gives them plenty of experience in typing code. In fact, we’d go so far as to say CodeCombat is probably one of the better ways to drill actual coding while still keeping kids interested in Python coding.
All things considered, CodeCombat is an impressive and effective way of getting kids started coding Python. Its immersive, game-like environment is perfect for kids who love fantasy-style games and it does an excellent job at both imparting key coding concepts and giving kids plenty of experience using Python code to solve problems.
It’s also a pretty affordable way of getting into Python. The basic account is free, although we recommend parents get the premium account for only $9.99 a month since it unlocks all levels and gives kids special items/characters and power ups and the ability to create their own levels, which should keep them interested and coding for a long time.
CodeMonkey- Most Applicable Real World Coding Project
CodeMonkey Banana Tales & Coding Chatbots Python Courses
Start with some Banana Tales and progress to a real world coding project, building a trivia chatbot
Price: Starting at $9.95 a month
Recommended for Ages: 11+
|What We Like||What We Don’t|
|Coding program with instructions and activities designed around the needs of younger kids||Graphics and animations are somewhat simplistic|
|Real world project introduces both coding concepts and skills, and cutting edge topics for discussion|
|Introduces some advanced but applicable skills and concepts, including Data structures, Server side programming and string manipulation|
|Pretty affordable – Subscription gives you access to all CodeMonkey courses|
CodeMonkey is a web-based online coding program designed specifically for younger kids. They give parents and teachers access to a variety of courses that teach coding to kids from kindergarten to grade 8 that teach coding through various video games.
CodeMonkey currently offers two courses to help kids learn to code Python, Banana Tales and Coding Chatbots.
The first, Banana Tales, is aimed at kids in the 6th and 7th grades and teaches kids the essentials of coding through an amusing, multi-level game involving feeding and reuniting a pair of twin monkeys.
The graphics are fairly basic, and the animation not the most sophisticated we’ve ever seen, but it is pretty fun to play and does expose students are exposed to Python code and a variety of important concepts, such as sequencing, if/else conditionals, functions, boolean operators and more, in a very easy to understand way.
Where CodeMonkey really shines, however, is in their Coding Chatbots course. Designed for kids 12 and up, over the course of 16 lessons and 70 exercises kids develop the skills they need to program their own trivia-spouting chatbot from the ground up. Along the way they’ll learn learn a variety of pretty advanced coding concepts including strings, string manipulation, classes and conditional execution, classes, data structures and sorts, and even some server-side programming
Unlike other project-oriented courses that are more focused around creating video games, this course ultimately produces an algorithmic application that is applicable in the real-world and something we all come across in our daily lives – chatbots.
Data sequencing and data structures are incredibly important in today’s world, and will only become more important with time, and these concepts (that are behind the creation of a chatbot) can be easily slid into a lesson plan or discussion about artificial intelligence, its applications and its limits. In our opinion this significantly raises the levels of potential discussions and learning that can be had with this course, especially compared to most competitors that are more game-centric.
Overall, since you get access to all courses with a subscription we’d recommend getting a good foundation with the Banana Tales course before progressing to the Chatbot course. While on its own it’s not as unique among python courses, it’s cartoon graphics and more relaxed, game atmosphere might be more conducive to learning the basics before diving into the more “serious” chatbot creation.
Not bad for less than $10 a month.
Python coding for kids: some considerations
Generally speaking we think that kids can pretty effectively start coding with python around the age of 10.
Now, there are always parents who want their kids to get into “real” coding as quickly as possible and prefer to start off with more widely used and recognized languages like Python instead of starting with Scratch or similar visual coding programs.
One thing to consider is that Python is text-based coding, meaning in addition to needing some patience and sequential thinking, it requires relatively strong and fluid reading and writing (typing) skills that younger kids may not yet possess.
Furthermore, coding at this level does require conveying some pretty abstract concepts and computational thinking that may be difficult to be properly understood by younger minds. Kids only really start developing their abstract reasoning by around 10 or 11, and until then they can have difficulty grasping concepts that aren’t so concrete or directly observable.
It’s always hard to put a finger on an exact age when it might be appropriate to start kids coding in Python, even if it’s with a specialized python course designed for kids, because every kid is different and they tend to have different backgrounds with coding and computers.
Some seem to have been born with a keyboard in their hand, while (especially today) many others may have never entered a line of code in their lives.
Further, to start coding in Python requires the user to have some basic computer skills, such as saving files, minimizing windows, and keyboard skills. This seems basic at first but many kids today have been raised on mobile devices with far more simplified and easy environments and may not be as familiar with a traditional computer environment.
Therefore, inexperienced or younger students may benefit from starting off using a visual coding program where they can explore the concepts of computer science and programming without having to worry about syntax and other picky coding issues.
What to look for in Python coding for kids courses
If you’re considering a Python for kids course, there are a few things to consider that can help make their learning smoother, more rewarding and more effective.
Step by step guidance
It seems like it goes without saying that you’d want a course that takes kids through the process of coding in a step by step way. However, many free courses and videos often rush through some of the fundamentals, or worse assume previous knowledge, in order to show off the finished code.
Because coding often builds on previous knowledge, the last thing you want is for a course to assume that the audience simply knows something, causing students to become lost in the material.
A good python course for kids should take them through the process of coding in a step-by-step way, from zero knowledge, with easy to understand instructions. That way kids get a good, firm understanding of the fundamentals, maybe even filling any knowledge gaps they might have, that they can build on later.
Short, easy to digest lessons
Kids learn best when information is chunked, or broken down into smaller amounts of information. When dealing with complex topics presenting too much information at once can risk overwhelming a child, possibly causing them to miss key bits of information and making it harder to progress.
Coding is no different, the best Python courses are broken up into shorter lessons with lots of visuals and as few big boring blocks of text as possible. Ideally, each lesson should be self-contained and centered around as few topics as possible, letting kids focus their python coding without jumping around.
YouTube videos, StackExchange and textbooks may make for decent self-paced learning for adults, but kids don’t always learn best with a lecture-based approach.
Project-based learning, on the other hand, is a hands-on teaching method that can be a great way for kids to pick up complex topics. It engages students and get them learning new concepts and thinking about new ideas through a variety of hands-on activities.
A good python course teaches kids the basics of coding and also connects their learning to an overarching, understandable goal that they can be proud of, like building a complex game or app that their friends and family can use.
Gamification to sustain interest and practice
Without the proper motivation kids can lose interest in coding pretty quickly. Let’s face it, coding can be finicky and, at times, boring. Unlike adults the promise of learning a new skill or upgrading their knowledge isn’t all that motivating to kids. They don’t have a resume to update, after all.
If the learning method doesn’t spark their interest pretty quickly they will lose interest.
Gamification is one way of sustaining interest. Points, contests and rewards all work to turn learning and practice into a video game like experience, especially if the achievements are easily understood and connected to the learning, making learning something like coding more fun.
Further, linking achievements to improving on previous work, by giving them scores for example, can encourage kids to go back and improve their work, thereby encouraging practice.
The benefits of reducing lines of code to make code more efficient and smooth might be a bit abstract, but going back and winning all the stars or getting more points for efficient code is more relatable and easily understood.
About the Author
David Belenky is a freelance writer, former science and math tutor and a tech enthusiast. When he’s not writing about educational tech, he likes to chill out with his family and dog at home.