Coding · 8 min read

When Should a Child Move From Scratch to Python?

Not a question of age. Two gates decide it: can your child build their own Scratch projects without a tutorial, and can they type? Here is how to check both.

A code editor window with a friendly python snake

Quick answer

Not at a particular age. Two things decide it, and both need to be true. First, can your child design and build their own Scratch project — not follow a tutorial — using variables, loops and conditions? If they still need step-by-step instructions, moving to Python removes the visual scaffolding without supplying the missing idea. Second, can they type without hunting for keys? Python is typed text, and a child spending their attention on finding the colon has none left for the logic. Most children who clear both gates are somewhere between Class 5 and Class 7, but the age is a consequence, not the reason. Moving too early is the most common reason children give up programming altogether.

Scratch to Python is the transition parents ask about most, usually framed as "when is he ready for real coding". That framing is the first thing worth correcting: Scratch is real coding. The concepts a child uses there — variables, loops, conditionals, events, breaking a problem into parts — are the same concepts, with the typing removed.

It matters for the decision, because it means the question is not whether your child has outgrown a toy. It is whether they have the two specific things Python demands and Scratch does not.

Scratch is not a waiting room

A child who is genuinely fluent in Scratch — building their own games, using lists, nesting conditions, debugging when something misbehaves — understands more computer science than a child who can type twenty lines of Python copied off a worksheet.

Worth holding onto, because the pressure to switch almost always comes from adults. Python looks like programming in a way that coloured blocks do not, so the move feels like progress by itself. Whether it actually is depends entirely on what the child brings with them.

The two gates

Both need to be clear. One without the other produces a stalled, discouraged child.

  • Gate one: they can build their own projects. Not remix, not follow along. Can they decide to make something, work out which pieces it needs, and get there — with variables holding state, loops repeating work and conditions branching? A child who can do that owns the concepts, and Python becomes new notation for ideas they already have.
  • Gate two: they can type. Python is typed text with punctuation that matters. A child hunting for the colon, the underscore, the bracket is spending their whole working memory on transcription, with nothing left for the actual problem. This is the gate that gets skipped, and it is the more decisive of the two.

Gate two has a purely mechanical fix: ten minutes of typing practice a day for a few weeks. It is dull, and it is worth it. A child who types comfortably at around twenty words a minute, knowing where the symbols live without looking down, has a completely different first month in Python from one who does not.

A five-minute test at home

Ask your child to open one of their own Scratch projects and explain a loop that uses a variable — a score going up, a countdown, a repeat that stops on a condition.

Listen to how the explanation comes out. "It adds one each time round, and when it gets to ten it stops" is a child ready to move. "I dragged that block there and it worked" is a child who should stay in Scratch a while longer, building things without a tutorial until the narration arrives.

This is the reading comprehension test in a different costume. You are checking whether the underlying idea belongs to the child, or whether the tool has been quietly carrying it for them.

Signs to wait

Any one of these is a reason to give it another few months.

  • They still need a tutorial for everything. The concepts have not transferred yet, and Python will not transfer them.
  • They cannot explain a variable in their own words. Not the textbook definition — what it is doing in their own project.
  • Two-finger typing. Fix this first. It is the cheapest problem on the list and the one that most reliably ruins the first month.
  • You want it more than they do. This is the strongest single predictor of a child abandoning programming, and no curriculum survives it. A child happily making games in Scratch is not behind anyone.

Do not make it a hard switch

The worst version of this transition is closing Scratch on Friday and opening a Python editor on Monday.

Be clear-eyed about the trade: the first weeks of Python are objectively less rewarding than Scratch. More typing, less happening on screen, and errors that stop everything over a missing bracket. A child who has just given up something they were good at experiences that as a punishment.

  • Let them overlap. Keep Scratch for creative projects while Python starts on small self-contained logic — a dice game, a number guesser, a quiz.
  • Start with visible output. Python turtle graphics draws shapes from real typed code, which keeps the reward of seeing something happen while the syntax becomes ordinary.
  • Remove setup friction. If running code means installing three things first, that is exactly where the enthusiasm goes. Start somewhere it runs in one click.
  • Say the cost out loud. Tell them the first month will feel slower than Scratch and that this is normal. Children handle a difficulty they were warned about far better than one that ambushes them.

The Raspberry Pi Foundation project library is a good free source of first Python projects, and it is structured so a child can work through it largely unaided.

If they are happy in Scratch, leave them there

We teach Python, so read this as the paragraph that costs us something.

There is no advantage to starting Python at eight rather than eleven. Nothing compounds in between. A child who spends another year building increasingly ambitious Scratch projects and moves at Class 6 will be ahead, within a term, of one who was pushed early, struggled, and quietly concluded that coding is not for them.

The only real deadline is that Classes 6 to 10 leave plenty of room — which is why our Python pathway begins there, and treats typing and project design as part of the work rather than assuming both.

Questions & answers

Related questions

Is Scratch a waste of time then?
The opposite. Scratch teaches the concepts that make Python learnable, without the typing and punctuation getting in the way. Time spent building original Scratch projects is the best possible preparation. Time spent following Scratch tutorials is not, which is a different problem.
What age do most children make the move?
Usually somewhere between Class 5 and Class 7. Treat that as a description of when the two gates tend to be clear, not as a target. A confident Class 4 child who builds their own projects and types well is more ready than a Class 7 child who does neither.
Does my child really need to learn typing first?
It is the highest-return few weeks you will spend on this. Python punishes imprecise typing with errors that stop the program, and a child searching the keyboard for a colon has no attention left for the logic. Ten minutes a day for three or four weeks is usually enough.
Should they finish Scratch before starting Python?
There is no finishing Scratch — it scales further than most people realise. The signal is not completion but independence: original projects, built without instructions, that use variables and conditions on purpose. Once that is happening consistently, the move is available whenever the child wants it.

Your child's free trial is one message away.

Tell us your child’s class and what they enjoy. We will suggest the closest program fit—no pressure and no upfront payment.