Coding For Kids & Teens

Is Your Child Ready to Leave Scratch?

The question almost always arrives in the same form. A child who has happily built Scratch games for two years announces that Scratch is for little kids, and a parent has to decide whether that is a developmental milestone or a mood.

It is usually a mood. That does not make it wrong, and it does not mean you should ignore it. But readiness to leave Scratch is a thing you can observe in what a child builds, and boredom is not one of the signs. Here is what the signs actually are.

Why age is the wrong question

Search for when a child should move to Python and you get numbers: ten, eleven, twelve. Those numbers come from curriculum convention rather than from anything about a particular child.

It is worth knowing where the convention comes from. England's national curriculum for computing asks pupils at Key Stage 2, roughly ages seven to eleven, to "design, write and debug programs that accomplish specific goals" and to "use sequence, selection, and repetition in programs; work with variables and various forms of input and output". Only at Key Stage 3, ages eleven to fourteen, does it require pupils to "use 2 or more programming languages, at least one of which is textual".

Read that carefully. The text language arrives after the concepts, not alongside them. The curriculum is describing a floor for a whole school, though, not a readiness test for your child. A nine-year-old who has genuinely mastered the Key Stage 2 list is further along than a thirteen-year-old who has not.

What the research actually found

This is the part that changes how I answer the question, and almost nobody mentions it to parents.

Weintrop and Wilensky ran a five-week study in an introductory high school programming class, comparing a block-based environment against a text-based one. Same teacher, same curriculum, same time on task, isomorphic environments, so the only real difference was blocks or text.

Two findings, and they point in opposite directions:

  • Students in both conditions improved. The blocks group showed greater learning gains and more interest in taking further computing courses.
  • Students in the text group believed their experience was more like what professional programmers do, and more effective at improving their ability.

So the students who felt they were learning more were the ones learning less. That gap is exactly what a parent is hearing when a child says Scratch is babyish. The feeling is real and it is worth taking seriously as motivation. It is simply not evidence about learning.

Five signs that do mean something

Watch the projects, not the opinions. Each of these maps onto something a text language will demand in the first week.

What to look for in ScratchWhy it matters in Python
Uses variables on purpose, and can say what each one holdsVariables are the first thing typed and the first thing misnamed
Puts a condition inside a loop and predicts the result before running itControl flow has no visual nesting to lean on once it is text
Debugs by guessing and testing, not by shuffling blocks at randomError messages reward a hypothesis and punish shuffling
Plans on paper before building anythingA blank text file gives no prompts, unlike a block palette
Has hit a wall Scratch cannot climbThe switch now solves a problem instead of creating one

The fifth one is the strongest single signal and the rarest. A child who wants to read a file of their own data, or fetch something from the internet, or process a thousand lines of text, has run into the actual edge of what Scratch is for. That child is not bored. That child needs a bigger tool, and the switch will feel like relief rather than like homework.

A child who wants to build another platformer, only in Python, is asking to do the same work with worse tools. Scratch is genuinely better at platformers.

Not sure which level your child should start at? A free trial class with a Codeyoung teacher shows you exactly where they are and what they are ready for next, before you commit to anything.

Book a Free Trial →

The three things that get harder, and none of them are logic

Parents expect the difficulty of the switch to be conceptual. It rarely is. A child with solid Scratch logic already understands loops, conditionals and variables, and those ideas transfer intact.

What does not transfer is everything around them.

Typing becomes the bottleneck

In Scratch, an idea takes a drag. In Python it takes forty accurate keystrokes. A child who hunts for keys spends most of their attention on the keyboard rather than on the problem, and their apparent ability drops by a year overnight. We wrote about this specific bottleneck in whether children should learn to type before they code.

A missing colon now stops everything

Scratch blocks cannot be assembled wrongly in a way that produces a syntax error, because the shapes refuse to fit. Text has no such protection. A missing bracket, a stray quote or the wrong indentation stops the whole program, and the message explaining it is written for adults. Teaching a child to read that message is a skill in its own right, and we covered it in teaching kids to read an error message.

There is no palette to browse

This one is underrated. In Scratch, a stuck child scrolls the block palette and remembers what is possible. A blank Python file offers nothing. Children who relied on recognition rather than recall lose their main strategy for getting unstuck, which is why the first month often looks like a regression in confidence rather than in skill.

Do not replace. Add.

The framing of leaving Scratch is itself part of the problem, because it turns a new tool into a graduation ceremony and makes going back feel like a demotion.

A better pattern is running both for a year:

  1. Keep Scratch for anything visual. Games, animations, music, anything with sprites. Scratch is better at these and will stay better.
  2. Use the text language for the thing that triggered the switch. Data, files, text processing, automating something dull.
  3. Rebuild one old Scratch project in the new language. Not to prove it is better, but because a known problem removes one of the two difficulties. They already know what it should do, so all their attention goes on how to say it.

Point three is the single most useful exercise I set. A child rebuilding their own Scratch quiz in Python is debugging syntax, not logic, and they can tell the difference between the two kinds of failure because they have a working version to compare against.

Infographic showing five readiness signals for moving from Scratch to a text language, and the three things that get harder after the switch: typing speed, syntax errors and no block palette
Five signals worth watching for, and the three difficulties that follow the switch.

What if they are ready and you are not sure which language?

Python first, in most cases. The syntax is the closest to plain English of the common options, indentation enforces the visual structure that blocks used to provide, and the error messages, while unfriendly, are at least short.

Java and JavaScript are both reasonable second languages and poor first ones for this transition, for the same reason: more punctuation per idea. The comparison in detail is in our guide to Scratch versus Python for kids, and our Scratch progression guide covers what is still left to learn inside Scratch itself, which is usually more than families assume.

If they are not ready yet

Do not simply say no and leave it there, because the underlying request is legitimate. The child wants their work to feel serious. There are ways to grant that without the switch.

  • Give them a project with a real user. A sibling, a grandparent, a class. An audience makes the work serious faster than a language change does.
  • Move them into the harder end of Scratch: custom blocks, cloning, lists, recursion. Most children never touch the top third of what Scratch can do.
  • Let them read text code without writing it. Reading someone else's Python and explaining what it does is genuinely useful and carries none of the typing cost.

Then revisit in three months. Readiness is not a door that shuts.

Frequently Asked Questions

At what age should a child move from Scratch to Python?

There is no age that answers this, which is why the question keeps producing unsatisfying replies. England's national curriculum expects a textual language during Key Stage 3, which covers ages 11 to 14, but that is a floor for schools rather than a readiness test for an individual child. Watch what they can do in blocks instead.

My child says Scratch is babyish. Is that a sign they are ready?

It is a sign they want to feel like a real programmer, which is a genuine and reasonable feeling, but it is not evidence of readiness. Research comparing the two formats found students in text environments believed they were learning more, while the students working in blocks actually learned more.

What should a child be able to do in Scratch before switching?

Four things, fluently and on purpose: use variables deliberately rather than by accident, put a condition inside a loop and predict what it will do, debug by forming a guess and testing it, and sketch a plan before building. Those map directly onto what a text language will demand immediately.

Is it bad to start a child on Python straight away?

Not bad, but usually slower. In a controlled five-week study, students in both block and text conditions improved, yet the blocks group showed greater learning gains and more interest in taking further computing courses. Starting in text costs attention on typing and punctuation that could go to the ideas.

Should my child stop using Scratch once they learn Python?

No. The stronger pattern is adding rather than replacing. Keep Scratch for the projects where visuals and sound are the point, and use the text language for the things Scratch cannot reach, such as working with files, real data or libraries someone else has written.

What actually gets harder when a child moves to a text language?

Three things at once: typing speed becomes a bottleneck, a missing colon or bracket now stops the whole program, and there is no palette of blocks to browse when they forget a command. None of those are about logic, which is why a child with solid logic can still stall badly in week one.

The short version

Readiness to leave Scratch shows up in what a child builds, not in what they say about Scratch. The five signals worth watching are deliberate variables, conditions inside loops with a predicted outcome, debugging by hypothesis, planning before building, and above all a project Scratch genuinely cannot do. Boredom is none of those things.

When the switch does come, expect the difficulty to be typing, punctuation and the missing block palette rather than the ideas, and plan to run both tools side by side for a year rather than treating one as a graduation from the other.

The study referred to above is Weintrop and Wilensky in ACM Transactions on Computing Education, and the curriculum expectations are in the national curriculum computing programmes of study. If you want a second opinion on where your child actually sits, our Scratch classes for kids and the Python pathway that follows are built to move at the child's pace rather than at the calendar's.

Codeyoung runs 1:1 live online classes for children aged 6 to 17, with a teacher who adapts the pace to your child rather than a fixed syllabus. The first class is free, so you can see how they respond before deciding.

Book a Free Trial

Frequently Asked Questions

At what age should a child move from Scratch to Python?
There is no age that answers this, which is why the question keeps producing unsatisfying replies. England's national curriculum expects a textual language during Key Stage 3, which covers ages 11 to 14, but that is a floor for schools rather than a readiness test for an individual child. Watch what they can do in blocks instead.
My child says Scratch is babyish. Is that a sign they are ready?
It is a sign they want to feel like a real programmer, which is a genuine and reasonable feeling, but it is not evidence of readiness. Research comparing the two formats found students in text environments believed they were learning more, while the students working in blocks actually learned more.
What should a child be able to do in Scratch before switching?
Four things, fluently and on purpose: use variables deliberately rather than by accident, put a condition inside a loop and predict what it will do, debug by forming a guess and testing it, and sketch a plan before building. Those map directly onto what a text language will demand immediately.
Is it bad to start a child on Python straight away?
Not bad, but usually slower. In a controlled five-week study, students in both block and text conditions improved, yet the blocks group showed greater learning gains and more interest in taking further computing courses. Starting in text costs attention on typing and punctuation that could go to the ideas.
Should my child stop using Scratch once they learn Python?
No. The stronger pattern is adding rather than replacing. Keep Scratch for the projects where visuals and sound are the point, and use the text language for the things Scratch cannot reach, such as working with files, real data or libraries someone else has written.
What actually gets harder when a child moves to a text language?
Three things at once: typing speed becomes a bottleneck, a missing colon or bracket now stops the whole program, and there is no palette of blocks to browse when they forget a command. None of those are about logic, which is why a child with solid logic can still stall badly in week one.

Turn your child’s curiosity into creativity 🚀

Book a free 1:1 trial class and see how Codeyoung makes learning fun and effective.

Arpita Jain

Arpita Jain
I head curriculum design for Codeyoung's coding program. For the last 10+ years, I've built K-12 computer science curricula, and today I oversee the Scratch-through-Python pathway that thousands of Codeyoung kids learn on. The question I care about most is the one every parent eventually asks: what should my kid actually be learning at each age, and in what order? Too much kids' coding rushes children into typing real code before they're ready — and they bounce off it. I built our age-banded curriculum to do the opposite: logic and confidence first, with visual block coding, then real syntax once a child is genuinely ready for it.

Codeyoung Perspectives

Codeyoung Perspectives is a thought space where educators, parents, and innovators explore ideas shaping how children learn in the digital age. From coding and creativity to strong foundational math, critical thinking and future skills, we share insights, stories, and expert opinions to inspire better learning experiences for every child.