When Your Kid Is Off the Chart

Resources for young programmers who finished the tutorials and kept going — the ones who would be bored in a beginner class, including ours.

We teach ages 8–15, beginner to intermediate.

That covers the large majority of kids, and we are good at it. But every few months a family shows up whose child is genuinely past it — already building their own projects, already reading documentation, already answering questions faster than the class can ask them. Selling that kid a beginner class would waste their time and your money.

So this page is the honest answer instead. Everything below is what we would tell a friend to do. Most of it is free, none of it pays us, and a fair amount of it is harder than anything we teach.

First, is your child actually here?

Knowing a lot of syntax is not the same as having outgrown a class. The real signal is what they do when nobody assigns anything. Truly advanced kids tend to:

  • Start projects nobody asked them to start, and finish some of them
  • Read documentation or Stack Overflow to get unstuck, rather than waiting to be told
  • Get visibly impatient waiting for a class to catch up
  • Have opinions about tools — why they prefer one editor, language, or engine over another
  • Break things on purpose to see what happens

If instead they are fast but still need someone to hand them the next thing to do, a class is probably still the right call. That is not a lesser kid — structure and peers are what most strong programmers need at that stage.

The fastest way to find the edge of what a strong kid can do. Competitive programming is unforgiving in a useful way: your solution is correct and fast enough, or it is not. It also supplies something a self-taught kid usually lacks — problems harder than anything they would have thought to set themselves.

🏆
The main event for pre-college programmers in the US, and free. Four divisions — Bronze, Silver, Gold, Platinum — and you promote by solving well in a contest. Contests run during the winter, from home, on your own clock. There is no age minimum, and strong middle schoolers regularly place in Bronze and Silver. Start with the USACO Guide, a free community-written curriculum that is far better than working through past problems blindly.
Ages 11+ Competition Genuinely hard Free
⚡
Rated contests every week or two, plus an enormous archive of problems sorted by difficulty. The rating system is the draw: it gives a kid an honest, externally verified number that goes up when they get better, which is motivating in a way that finishing a course is not. The community skews older and international, so this is better for teens than for eight year olds.
Ages 12+ Rated contests Free
🎄
Twenty-five puzzles released daily each December, in any language you like. The difficulty ramps gently, the puzzles are funny, and the whole internet does it at the same time, which makes it unusually social for a solo activity. The best on-ramp on this page — a curious 10 year old can do the early days, and the late ones will trouble an adult engineer. All previous years stay available year-round.
Ages 10+ Annual, December Free
🔢
Hundreds of problems where the programming is easy and the mathematics is the challenge. Brute force works for the first handful and then stops working entirely, which is the lesson. Ideal for a kid who is strong at both math and code and wants somewhere the two actually meet.
Ages 12+ Math-heavy Free
🧠
Three good practice grounds with different flavors. Kattis is the problem archive used by university contests. Codewars is bite-sized kata with a strong community habit of comparing solutions afterwards, which is where the learning is. Exercism is free and offers actual human mentorship on your submissions in dozens of languages — rare and valuable for a kid with no local mentor.
Ages 11+ Practice Free
👥
Team-based contests run through schools, covering computer science theory as well as programming. Divisions run from elementary through senior high, which makes it one of the few real competitions open to younger kids. Worth asking a teacher about — it usually needs a school sponsor rather than an individual signup.
Ages 8+ Team, school-based Entry fee

At some point a kid who has only ever learned from tutorials needs a course built by people teaching future engineers rather than selling a subscription. These are the actual courses, from the actual universities, free.

🎓
The best-known intro CS course in the world, and deservedly so. Starts in C — which is the point, because it forces an understanding of memory that Python hides — then moves through Python, SQL, and web. The lectures are produced like television, and problem sets are auto-graded so a kid gets instant feedback without a teacher. Demanding but achievable for a motivated 13 year old over a few months. Harvard also offers spin-offs including CS50 AI.
Ages 13+ University course Demanding Free
💻
Berkeley's intro course, taught in Python and descended from the legendary SICP curriculum. Where CS50 goes broad, CS61A goes deep on the ideas — recursion, higher-order functions, interpreters, how abstraction actually works. The full materials, labs, and autograders are public. The natural next step for a kid who already knows Python syntax cold and needs to learn how to think.
Ages 13+ Python University course Free
🔨
Build a working computer starting from a single NAND gate: logic gates, then a CPU, then an assembler, a virtual machine, a compiler, and finally an operating system and a game running on the thing you built. Nothing else on this page does more to demystify computing. It is a long haul but the projects are self-contained, and the sense of having built the whole stack is hard to get any other way.
Ages 13+ Build from scratch Long haul Free
⌨
Everything the courses skip: the shell, scripting, git, debuggers, profiling, editors. Short, practical lectures that close the gap between a kid who can write code and a kid who can work like a developer. Cheap in time and unusually high in payoff — most self-taught kids have a real hole exactly here.
Ages 12+ Short course Free
📚
Teach Yourself CS is a short, opinionated reading list: the nine subjects that matter, one recommended book and course each, in order. It is the answer to "what should I learn next" for the next several years. MIT OpenCourseWare is the raw material — full lecture notes, assignments, and exams from actual MIT courses, free and without registration.
Ages 14+ Curriculum Free

The most common way a talented young programmer stalls is by collecting languages instead of finishing anything difficult. The cure is a project with a real ceiling — something where the tutorial runs out and they have to keep going anyway.

📜
A complete free book that walks you through building a programming language twice — once as a simple tree-walking interpreter, then again as a bytecode virtual machine in C. It is beautifully written, genuinely funny, and the single best "you are ready for something real" project we know of. A kid who finishes this understands more about how code runs than most working developers.
Ages 14+ Build a language Hard Free
🛠
A huge curated index of step-by-step guides for building your own version of real software: a text editor, a database, a git, a web server, a shell, a 3D renderer, a bot, an operating system. Sorted by what you are building and by language. The best place to browse when a kid says they are bored and cannot think of a project.
Ages 12+ Project index Free
🔌
Video series on building an 8-bit computer on breadboards, wire by wire, plus superb explainers on how networking, video signals, and CPUs actually work. Kits are available if you want the parts, but the videos alone are worth it. For a kid who likes to see the electrons, this pairs perfectly with Nand2Tetris — one builds the ideas, the other builds the hardware.
Ages 12+ Hardware Free videos Optional kits
🏗
Guided-but-unassisted rebuilds of real infrastructure — your own Redis, Git, Docker, SQLite, HTTP server — in the language of your choice, with tests that verify each stage. Unlike a tutorial it does not show you the code; it tells you what must work next and lets you struggle. Paid, and priced for adults, but there is a free tier of stages worth trying first.
Ages 14+ Rebuild real tools Paid, free tier
🎮
If the obsession is games, the step up from a drag-and-drop engine is a real one. Godot is free, open source, scriptable in a Python-like language, and small enough to understand. Then enter a jam: a weekend theme, a hard deadline, and a public page at the end where strangers play and rate what you made. Shipping to an actual audience changes how a kid works more than any course does.
Ages 11+ Game dev Ship publicly Free

Most "AI for kids" material teaches how to call somebody else's API. These teach what is actually happening, which is the part that will still be true in ten years. All assume comfort with Python first.

🤖
A free video series that builds neural networks from nothing, in plain Python, one line at a time — starting with a tiny autograd engine and ending with a working GPT. Karpathy led AI at Tesla and taught Stanford's deep learning course, and he explains without hand-waving. This is the best AI material on the internet at any price, and a strong 14 year old can follow it.
Ages 14+ Deep learning Hard Free
📈
Deliberately upside-down: you train a working model in lesson one and learn the theory underneath it later. That order suits kids, who lose patience with a month of math before anything happens. Free, no GPU required to start, and the forums are welcoming to beginners.
Ages 13+ Deep learning Free
📊
Kaggle Learn is a set of short, free, hands-on courses, and Kaggle itself hosts data science competitions with public leaderboards — the competitive-programming dynamic applied to machine learning. Hugging Face's free courses cover modern NLP, transformers, and diffusion models, with runnable notebooks throughout. Note both require an account, and Kaggle's minimum age is 13 in most places.
Ages 13+ ML practice Competitions Free

Security captures a particular kind of kid completely — the one who wants to know how things break, not just how they work. These are all legal, sanctioned practice environments built for exactly that instinct, which is much better than the alternative of finding somewhere to try it unsupervised.

🏳
The best starting point in security for young people, built by CMU specifically for middle and high schoolers. An annual competition plus a year-round practice gym of past challenges, all free and browser-based. Puzzles run from "decode this" to real binary exploitation, with hints throughout. Start here, before anything else on this list.
Ages 11+ CTF Competition Free
🔑
A wargame played entirely over SSH: each level hides a password that unlocks the next, and finding it teaches a Linux command along the way. Thirty-odd levels that quietly turn a kid into someone comfortable at a command line. Free, no signup, and the single best way to learn the shell because there is a puzzle attached to every command.
Ages 12+ Linux & shell Free
🛡
The national youth cyber defense competition, run by the Air & Space Forces Association. Teams of students harden virtual machines against attack under time pressure — defense rather than offense, which is a good frame for this age. Open to middle and high school teams, usually through a school or club, and it comes with real mentorship and a clear route onward.
Ages 11+ Cyber defense Team competition

This is the section that matters most, and the one parents most often skip. A gifted kid programming alone in a bedroom plateaus. Put them somewhere with peers who are also serious and an audience for what they make, and everything else accelerates. If you only act on one section of this page, make it this one.

⚡
A global network of teenage programmers, largely run by teenagers, with an active Slack where kids ship projects, review each other's code, and organise their own hackathons. Free, non-profit, and genuinely the best thing on this page for a young person who has no peers locally. They also help students start a club at their own school, and run programs that fund and ship real hardware to teenagers. If your kid is 13 to 18 and isolated, start here.
Ages 13–18 Peer community Free
🐙
The jump from writing code to working on a real codebase with other people. Good First Issue and similar sites index beginner-friendly tickets on real projects. The first contribution is mostly about learning the etiquette — forks, branches, pull requests, reviews, patience — and a merged one-line documentation fix teaches more about how software actually gets made than a month of tutorials. Note that GitHub requires users to be at least 13.
Ages 13+ Real codebases Free
🏛
A US competition run district by district, so a student competes against others in their own area rather than the entire country — which makes placing realistically achievable. Middle and high schoolers build an app of their choosing, individually or in a small team. Winners are recognised by their member of Congress, and it looks unlike anything else on an application later.
Ages 13+ US competition Free
💡
A global program where girls build a mobile app or AI project addressing a problem in their own community, supported by volunteer mentors, and pitch it. The framing — find a real problem, build for real users, present to real judges — adds product and communication skills that pure programming challenges never touch. Team-based, with a season that runs across several months.
Ages 8–18 Mentored, team Free

For most strong young programmers the limit eventually turns out not to be coding at all. Algorithms, graphics, cryptography, machine learning and anything competitive all run into mathematics, and the kids who go furthest are usually the ones whose math kept pace.

➕
The standard answer for mathematically gifted kids in the US. Textbooks, online classes, and a large forum, all built around hard problems rather than repetitive drill — the same philosophy that makes competitive programming work. Beast Academy covers roughly ages 8 to 13 with a comic-book presentation that hides genuinely rigorous content. Alcumus, their adaptive problem system, is free.
Ages 8+ Math Paid, free tools
🧠
Short interactive lessons in math, logic, and computer science, built around solving rather than watching. Good for filling gaps in a self-taught kid's foundations, and good on a phone in the gaps of a week. Subscription-based with a free trial, and less rigorous than AoPS — think supplement, not curriculum.
Ages 10+ Math & logic Subscription

Long-form still beats video for depth, and a book a kid can leave open next to the keyboard gets read. These four survive the "would a working engineer respect this" test.

📗
Code — Charles Petzold
How computers work, built up from flashlights and Morse code to relays, logic gates, memory, and a working processor, without requiring any programming at all. The rare book that a curious 11 year old and an experienced engineer both get something from. If you buy one book on this page, buy this one.
Ages 11+ Foundations Print
🐍
Fluent Python — Luciano Ramalho
The book for a kid who says they already know Python. It covers what the language actually does underneath — the data model, protocols, descriptors, concurrency — and reliably humbles anyone who thought they were finished. Thick, and best used as a reference to dip into rather than read straight through.
Ages 14+ Advanced Python Print
📖
Listed above as a project and repeated here as a book, because it is both. The complete text is free to read online, and the print edition is beautiful if a kid prefers paper for something this long.
Ages 14+ Build a language Free online
📚
A very large, well-maintained index of free programming books, courses, and interactive tutorials, organised by language and subject and translated into dozens of languages. Not curated for children, so expect to filter, but almost anything specific a kid wants to learn is in here somewhere.
Ages 12+ Index Free

For the small number of students operating well beyond their grade, these are competitive, usually free, and worth planning a year ahead for. Deadlines tend to fall months before the program runs.

🔬
A year-long research program where high school students work on genuine open problems in mathematics, computer science, and computational biology with MIT mentors. Free and highly selective, with an application that is itself a serious problem set. PRIMES USA runs remotely for students outside the Boston area, and PRIMES Circle serves students newer to advanced math.
High school Highly selective Free
🎓
University & Community College Courses
Frequently overlooked and often the strongest option available. Many US community colleges enrol high schoolers through dual enrolment, and universities run summer programs and sometimes permit local teenagers to audit courses. A 15 year old in a real data structures class, graded alongside adults, gets something no online course replicates. Ask the registrar — the answer is yes more often than families expect.
Ages 14+ In person Varies

If you code yourself

  • Resist reviewing their code unless asked. Being corrected at home is how a hobby becomes a chore.
  • Let them see you stuck on something. Watching an adult debug for an hour without giving up teaches persistence better than being told to persist.
  • Pair with them occasionally as an equal, not as the teacher.

If you do not code at all

  • Ask them to explain what they built. Explaining to a non-expert is real skill-building, and it is a genuine contribution you are uniquely placed to make.
  • Find them peers. This is the highest-value thing on this entire page and it does not require technical knowledge — a club, a Discord, a competition team, a hackathon you drive them to.
  • Protect unstructured time. Hard projects need long uninterrupted stretches, and a fully scheduled week quietly makes deep work impossible.
  • Do not over-formalise it. Signing a kid up for four courses is the fastest way to make their favourite thing feel like school.

Two traps worth naming

  • Language collecting. A kid who "knows" eight languages and has finished nothing substantial is not advanced, they are avoiding difficulty. Push for one hard finished project over any number of new syntaxes.
  • Burnout by optimisation. Treating a 12 year old's hobby as a college admissions strategy reliably kills it. The competitions on this page are worth entering because they are interesting, and the rest follows on its own.

Where Hackingtons still fits — and where it does not

Probably still a fit: a kid who is quick and ahead of their class, but still wants the next thing handed to them, and would benefit from peers and structure. That describes most "advanced" 8 to 15 year olds. Our online program takes students from age 10 into Python, JavaScript, and Unity game development in small live groups, and we place students by skill rather than by age — so nobody lands in a class that bores them.

Probably not a fit: a kid already shipping their own projects unprompted, reading source code for fun, or working through university material on their own. We would be slowing them down, and the free resources on this page will serve them better than anything we could sell you.

Not sure which one describes your child? Book a Meet & Greet and ask us. You and your child talk to a co-founder, it is free, and if the answer is "go do USACO instead," that is what we will tell you.

Book a free Meet & Greet

Frequently Asked Questions

How do I know if my child has outgrown beginner coding classes?

The clearest signal is not what they can do, it is what they do unprompted. A child who starts their own projects without being assigned one, reads documentation to get unstuck, and gets impatient waiting for a class has usually outgrown a beginner course. Knowing a lot of syntax is not the same thing — plenty of kids can recite Python and still need structure and peers.

What is USACO and can a middle schooler do it?

USACO is the USA Computing Olympiad, a free competitive programming contest with four divisions: Bronze, Silver, Gold, and Platinum. Contests run during the winter and are done from home. There is no age minimum, and motivated middle schoolers regularly compete in Bronze and Silver. It is the single best structured challenge for a strong young programmer in the US.

Is CS50 too hard for a 13 year old?

CS50x is a university course and genuinely demanding, but the lectures are unusually well made and problem sets are auto-graded. A motivated 13 year old who already programs comfortably can finish it, typically over several months rather than a semester. Younger kids usually do better with an adult working alongside them rather than supervising from a distance.

Should an advanced kid learn more programming languages?

Usually not. Collecting languages is the most common way strong young programmers stall. Depth is what is missing: finishing something hard, reading other people's code, understanding what happens underneath the language they already know. A second language is useful when a project demands it, not as a goal in itself.

My child is advanced. Are they too advanced for Hackingtons?

Sometimes, and we would rather say so. We teach ages 8 to 15 at beginner and intermediate level. A child already writing their own projects unprompted will likely find our standard track too slow, though our online program goes further — Python, JavaScript, and Unity game development — and we place students by skill rather than age. If a child is beyond that too, this page is more useful to you than we are.

What can parents do if they do not code themselves?

More than you would think. You do not need to understand the code to ask what they are building, find them a community of peers, drive them to a competition, or protect the unstructured time a hard project needs. The highest-value thing a non-technical parent can do is get their child around other kids who are also serious about it.

More from Hackingtons

We keep this list short on purpose and only include things we would actually recommend to a family. No one on it pays us, and we get nothing if you click through. Spotted something excellent that is missing, or a link that has gone stale? Email [email protected].