Around six, and later is fine. That is the short answer, and most of what follows is an explanation of why both halves of that sentence matter.
Six is roughly the age at which a structured coding class starts to work: the child can follow a sequence of steps, sit with a task for most of a 90-minute lesson, and feel the difference between a program that works and one that does not. Below six, what is sold as coding is mostly supervised play, which is lovely, but you can do it at home for free.
The second half matters just as much. A child who starts at eleven, or fourteen, catches up with a six-year-old starter far faster than parents expect, because the tools they start on are more powerful and their reasoning is more developed. Coding is not gymnastics. There is no window that closes.
What is developmentally honest at each age
| Age | The right tools | What the child can really do |
|---|---|---|
| 6 to 9 | Scratch Jr, then Scratch | Drag picture blocks into sequences and loops, make animations and small games, finish one small thing per lesson |
| 8 to 10 | LEGO Education SPIKE Essential | Build a machine from a kit and program it with word blocks to move, turn, wait and react |
| 11 to 13 | Scratch into HTML and CSS, LEGO SPIKE Prime, Arduino Student Kit | Move from blocks to written code, publish a first web page, wire real sensors and read them in code |
| 14 to 17 | Python, JavaScript, Arduino CTC GO! | Write real programs in a real language, build a project worth showing, follow the official Arduino programme for this exact age band |
Every tool named here is a published curriculum you can look up: Scratch from MIT, SPIKE Essential and SPIKE Prime from LEGO Education (built for grades 1 to 5 and 6 to 8 respectively), the Arduino Student Kit for ages 11 to 14, and CTC GO!, Arduino's official programme for 14 to 17 year olds. Age bands on those curricula were set by the people who wrote them, not by marketing.
Ages 6 to 9: sequences, not syntax
At this age the win is thinking in steps: first this, then that, repeat three times. Scratch Jr and Scratch do this with picture blocks, so reading ability barely limits progress. Two things matter in how it is taught. Lessons should be about 90 minutes, because a six-year-old's usable attention genuinely stops there. And every lesson should end with something finished, an animation or a tiny game that worked today, because at six, motivation is the entire curriculum.
Ages 8 to 10: give the code a body
This is the age where physical computing lands beautifully. With a kit like SPIKE Essential the child builds a small machine and then programs it, and the code stops being abstract: a wrong number makes the robot turn the wrong way, on the table, in front of them. Debugging becomes concrete long before anyone uses the word.
Ages 11 to 13: the bridge to real code
Around eleven, block coding starts to feel like a toy, which is the signal to cross the bridge: from Scratch to a first web page in HTML and CSS, from SPIKE word blocks to short written programs, from pressing play to wiring a light sensor and reading its values. This is also the age where a project can span several sessions and fail in the middle, and where that failure becomes the most useful thing in the room.
Ages 14 and up: real languages, real projects
A motivated fourteen-year-old can work with the same languages adults use, at a different pace: Python, JavaScript, a real Arduino board. What changes is the point of the work. Teenagers are portfolio-aware, and finishing something demonstrable, a published site, a working machine, matters more than covering topics.
Signs your child is ready, at any age
- They can follow a three-step instruction without repeating it back to you.
- They finish things, at least sometimes, and enjoy the finishing.
- They ask how games or apps work, not just to play them.
- They can lose to a puzzle without giving up on the puzzle.
If most of that list is not there yet, wait six months and lose nothing. If it is there, pick the tool that matches the age, not the most impressive one. A bored eight-year-old in a Python class learns less than a delighted one in Scratch.
Do you even need a class to start?
No. Scratch and Scratch Jr are free, published by MIT, and run in a browser or on a tablet. If you want to test the water this weekend, sit with your child for an hour and build something together. What a class adds is what home usually cannot sustain: a weekly rhythm that survives busy weeks, other children building in the same room, and a teacher who can tell the difference between a child who is stuck and a child who is bored. Start free, and pay for structure once the interest is proven.
If you want to see how we structure this by age, from Scratch at six to Arduino and Python in the teens, the full ladder is on our programmes page, with hours and prices published for every course.