Knowledge Hub ยท Article 201 ยท Coding

Scratch or Python: which first, at what age, how long to stay in Scratch, the signs a child is ready to switch, and the six-week bridge between them

0min read0students taught0countries
Article 201 ยท Coding

Scratch or Python is the first question a parent asks about coding classes for a child between 8 and 12, and the honest answer is short: Scratch first under 10, Python from 10 or 11, one school year in Scratch, and a six-week bridge between them. The rest of this article is why, because the order matters more than the pace, and the two common mistakes, Python too early and Scratch too long, each cost about a year.

What each one teaches

Scratch is a block-coding environment from MIT, free, in the browser. The child drags blocks (move 10 steps, repeat 10, if touching edge, when green flag clicked) into stacks that control sprites on a stage. There is nothing to type and no such thing as a syntax error: a block either fits or it does not. In a year of weekly classes a child learns loops, conditions, variables, events, broadcasting between sprites, lists, and the habit of breaking a game into parts. Those are the ideas of every first programming course.

Python is a typed language, the one most schools, universities and the AP Computer Science Principles course use, and the language a working programmer is most likely to write in 2026. The child types for i in range(10): and the program does something, or prints an error. The ideas are the same as Scratch's; what is new is text: spelling, colons, indentation, reading an error message and knowing where to look. Python with turtle graphics, where a line of code draws a shape, is the bridge, because the child sees the result of each line as they did in Scratch.

The difference, then, is not what is learned but what the learning costs the child. In Scratch the cost is nothing but attention. In Python the cost is typing, and a 9-year-old who hunts for every key spends the whole class on the keyboard and none on the idea.

The age, and the five signs that matter more than the age

The guideline is Scratch from about 7 to 10 and Python from about 10 or 11. The reason it is a guideline is that readiness for Python is five specific things, and children get them at different ages:

  1. Types a short sentence without hunting for every key.
  2. Reads an instruction on a screen and follows it without being read to.
  3. Can explain the rules of a game they play, in order.
  4. Sits with one task for thirty minutes when it is going well.
  5. Has done, or would enjoy, Scratch or a block-coding app.

A child with all five at 9 is ready for Python; a child missing the first two at 11 is not yet, and a term in Scratch with a typing game on the side gets them there. The free class we run finds this out in twenty minutes, by handing the child the keyboard.

How long to stay in Scratch

One school year of weekly classes, or until the child has built two or three games from a blank project: a maze, a catching game, a quiz with a score, an animated story with a plot. At that point the child has used every idea Scratch teaches, and the next year in Scratch is decoration: better graphics, more sprites, the same loops. A 12-year-old in their third year of Scratch is the commonest sign of a group class that keeps everyone together.

The test is the blank project. A child who can open Scratch and build a game nobody showed them is done with Scratch, whatever their age.

The six-week bridge

A child who has done a year of Scratch and meets the five signs learns Python in about six weeks, because the ideas are already there and only the text is new. The order that works:

  • Weeks 1 and 2: turtle graphics. Every line of code draws something. forward(100), right(90), then the same four lines inside for i in range(4): and the child has drawn a square with a loop, which they already understand from Scratch. Syntax errors arrive and are read together: the missing colon, the wrong indentation, the misspelled name.
  • Weeks 3 and 4: input, variables, if. A program that asks your name and answers; a number-guessing game, which is a loop with an if inside, exactly as in Scratch, and the child's first program that plays back.
  • Weeks 5 and 6: lists and a project. A quiz with the questions in a list and a score; or a short text adventure. The child chooses, and plans it in their own words before typing.

After six weeks the child writes a 30-line program alone, reads its errors, and the Scratch ideas have become Python ideas. The second term is functions, dictionaries, files and a project of a hundred lines or more.

The two mistakes

Python too early. A 8- or 9-year-old put into a Python course because a sibling did it, or because the course is called "real coding". Every class is syntax errors and typing; the ideas never get the attention; the child decides coding is hard and boring. The fix is a term of Scratch, and the child often arrives in Python a year later ahead of where the early start would have put them.

Scratch too long. A 12- or 13-year-old in a third year of block coding, building ever-prettier games. Nothing is wrong with the child; the course was written for the youngest in the group. The fix is the six-week bridge, which at 13 takes four.

What about Scratch Jr, Blockly, Code.org and the others?

Scratch Jr is for 5 to 7, on a tablet, with no reading needed; it is the right thing for that age and runs out quickly. Code.org's courses, Blockly and the block-coding apps (Tynker, CodeMonkey's early levels) teach the same ideas as Scratch in a fixed sequence, and are a fine supplement; Scratch's advantage is the blank project, where the child builds what they chose. Block-based Python (the apps that show Python-looking blocks) is a halfway house that teaches neither the freedom of Scratch nor the discipline of text; skip it.

How we teach it

One tutor, one child, on a shared screen, the child typing for most of the hour and the tutor reading every line. Scratch from about 7, with a game of the child's own by week six; Python from about 10, with turtle graphics first and the six-week bridge above for a child who has done Scratch; then web development, Java and AP Computer Science for teenagers. A 45-minute class for a child under 11, an hour from about 11. The free first class is the readiness check: we hand the child the keyboard and watch.

Questions parents ask

1Should my child learn Scratch or Python first?
Under 10, Scratch; from 10 or 11, Python. Scratch teaches the ideas (loops, conditions, variables, events) with nothing to type and no syntax errors; Python teaches the same ideas as text, which needs typing speed and the patience to read an error message. A child who has done a year of Scratch learns Python in about six weeks because the ideas are already there.
2What age is Scratch for?
About 7 to 10. Scratch Jr is for 5 to 7. A child of 11 or 12 who has never coded can skip Scratch and start Python with pictures (turtle graphics), provided the typing is there.
3What age should a child start Python?
About 10 or 11, when the child can type a sentence without hunting for keys, reads instructions on a screen comfortably, and can sit with one task for thirty minutes. Some 9-year-olds are ready; many 11-year-olds are not yet; the typing decides, not the age.
4How long should a child stay in Scratch?
About one school year of weekly classes, or until the child has built two or three games from a blank project. Longer than that and the child is practising Scratch rather than learning to code; the ideas Scratch teaches are learned in a year, and the rest is decoration.
5Is Scratch real coding?
Yes. Loops, conditions, variables, events, broadcasting between sprites, lists: every idea a first programming course teaches is in Scratch, minus the typing. What Scratch does not teach is syntax, reading an error message, and the discipline of text, which is why a child moves on.

See how we teach this, 1-on-1 online โ†’

written by

Shobha

Founder and lead tutor, Science with Shobha

Teaching maths, science and English to children online since 2018. 500+ students, 20+ tutors, families in nine countries.

About the team โ†’

Keep reading

Related articles

โ† All articles in the Knowledge Hub