Codeoko Journal · Method
Why We Don't Teach Scratch Forever
Blocks are a doorway. They are not a house. Children who stay in them too long learn to tap, not to write.

Tariq Nasser
Faculty · First Code · App Builders · Codeoko Journal
Published 18 August 2026 · Updated 8 September 2026 · 10 min read
Scratch is fine. We will say that first, because the internet likes a fight. A seven-year-old who has never typed a line can snap a sprite to a loop and see something move. That spark is real. We use blocks when the idea is new and the keyboard is still a foreign country.
We do not stay there. A school that keeps a twelve-year-old in coloured bricks because it photographs well is not being kind. It is delaying the moment the computer talks back in English — the error message — which is the actual lesson.
The GCC is full of “coding” products that never leave the doorway. They are easy to sell in a mall kiosk and easy to screenshot for a parent WhatsApp. They are also how a capable eleven-year-old arrives to us fluent in tapping and blank in front of a traceback. That is not the child’s failure. That is a curriculum that refused to grow up.
What blocks hide
Blocks hide spelling. They hide the fact that the machine does exactly what you wrote, not what you meant. They hide the difference between “it ran” and “it is correct.” Those three things are the job.
They also hide authorship. A YouTube Scratch clone can look finished in twenty minutes. The child cannot change the jump height without breaking the costume. Ask them why the score resets and you get a shrug, or a replay of the tutorial. Typed code is uglier and slower. It is also theirs. You can point at a line.
Parents sometimes ask us to stay in Scratch because it looks like school: bright, finished, a certificate at the end of the maze. We would rather a slightly uglier game that the child can open, break, and fix. Ugly and theirs beats pretty and borrowed.
Scratch is how some children meet the idea. Python is how they keep it.
What we still use blocks for
A first session with a seven-year-old who has never coded: we may still snap a loop so the idea is in the room before the keyboard is. That is a doorway. It lasts days, not terms. The moment they can say the steps in order, we type those steps. We do not collect a year of badges as a delay tactic.
If a child arrives already fluent in blocks and empty of sentences, we do not “honour their Scratch hours” by parking them there. We honour them by moving. Placement is a recommendation, not a loyalty programme.
When we move
The move is not a birthday. It is a sentence. When a child can say, in order, what their program does — and what it should do if the player hits the wall — they are ready to type it. First Code does this with Python while the project is still a game or a story. We do not wait for “real coding age.” There is no such age. There is ready, and there is not yet.
The first error message is the teacher. SyntaxError is not a scolding. It is the machine saying: I do not know this word. A mentor who sits with that line, instead of clicking past it, is doing the job. A platform that never produces that line is doing something else.
App Builders do not get a second childhood in blocks. A website that only exists as a screenshot is not a website. A rover that only turns in a video is not a rover. The mentor’s job is to make the failure small enough to face, then sit there while they face it.
If another school wants to be the forever-Scratch studio, they can. We are a computing school. The language of the field is typed. So is ours, as soon as the idea will survive the typing.
What this means for your child
Blocks can open a door. They cannot be the house. When your child can say what the program should do — and what fails when it doesn’t — move them into typed code. That is kindness with a keyboard.
We write what we actually teach. If the fit is right, the next step is a short intro — age, city, and what they like to make — then a try-out class of four.
