From across the room, every Scratch project looks the same: a cat, some noise, a child laughing. It is genuinely hard to tell whether your child spent an hour learning something or an hour changing costume colors.
The difference is not in how the project looks. It is in which concept the child had to understand to make it work at all. Here are six games in the order a child should meet them, what each one actually teaches, and the moment each stops being a challenge, which is the moment to move on.
What makes a Scratch project actually teach something?
The project has to break if the child gets the logic wrong. A game where an incorrect answer still produces a moving cat teaches nothing, and a game that simply refuses to work until the thinking is right teaches a great deal.
That is the test to apply to anything your child builds. Ask them what happens if they change one number, then watch. If they can predict it, they understand the mechanism. If they shrug and try it, they are still at the stage of arranging things, which is fine as a beginning and not a place to stay.
It is worth knowing the scale of what they are using. Scratch is free for everyone, run by a nonprofit foundation, and its own figures describe 200 million kids creating on it and over a billion projects made. It was built by the Lifelong Kindergarten group at the MIT Media Lab in 2007, where the stated aim is children "learning to think creatively, reason systematically, and work collaboratively, while also learning important mathematical and computational ideas."
The six projects below are the ones we use in our own Junior Track, which is 32 weeks, 64 live classes and 32 projects, with two project options every week so the mentor can match the child.
Which project should a complete beginner build first?
An animated story with three scenes, characters that speak, and backdrops that change. It teaches sequencing, which is the single idea everything else rests on: instructions happen in order, and changing the order changes the result.
There is no scoring, no failure state and no real logic, and that is deliberate. A first project should be impossible to lose at, because the only thing being learned is that the computer does exactly what it is told, in the order it is told.
You will know it has done its job when your child starts complaining that the sprite speaks before the backdrop changes. That complaint is the concept landing. Once they can reliably make three things happen in the right order, this project has nothing left to give.
What is the first project that teaches real logic?
Dodge the falling objects. The child moves a sprite left and right while things fall from the top, and it is the first project that cannot work without a loop and a condition running together.
This is the jump. Something has to fall continuously, which means a forever loop. Something has to happen when two sprites touch, which means a condition checked inside that loop. A child who builds this has met the structure that nearly all programming is made of, in a form they can watch happen.
It is also where the first real debugging happens, because the game is always slightly wrong at first. The objects fall too fast, or they only fall once, or the collision fires ten times instead of once. Each of those has a cause the child can find, and finding it is more of the lesson than finishing.
Move on when they can add a second falling object without help. At that point the loop and the condition are understood, and repeating the project just makes it longer.
When does a child need variables?
The moment they want a score. Pop the balloons, where clicking a balloon adds a point and a timer counts down, is the cleanest way to meet the idea that a program can remember a number and change it as it runs.
Variables are more abstract than anything before them, which is why a score is the right first use. The number is on screen, it goes up when the child expects it to, and when it does not, the reason is visible. Compare that to being told a variable is a named box holding a value, which is true and teaches nobody anything.
The timer is the more valuable half. A score only ever increases, but a countdown has to start at a value, decrease on a schedule, and trigger something at zero, which is three separate ideas standing on each other.
This one stops teaching when your child adds a high score that persists between rounds without being shown how.
What project teaches them to reuse code?
A drawing tool built with custom blocks, where the child defines their own block for a square, another for a triangle, and then builds pictures out of them. It is the first project where the point is not what the program does but how it is organized.
This is the least exciting project on the list and probably the most important. Up to here every project has been one long chain of instructions. Custom blocks introduce the idea that a group of instructions can be given a name and used repeatedly, which is what a function is in every language your child will ever touch.
Expect resistance. Copying and pasting the square code four times works fine and takes less thinking, and a child will reasonably ask why they should not. The honest answer is to have them change the size of every square afterward, once with copies and once with a custom block. The second way takes one edit. That comparison teaches it better than any explanation.
Which project teaches a child to handle data?
A name generator that picks a random adjective and a random noun from two lists and joins them into something ridiculous. Lists are the first time a child stores many things rather than one, and the ridiculous output is what makes them want to keep adding to it.
The concept underneath is real and reusable: a collection has a length, items have positions, and you can pick, add and remove them while the program runs. A child who understands that a list has an item number 3 has understood array indexing, which they will meet again in every language.
Keep it silly on purpose. The educational version of this project is a to-do list, and no child has ever wanted to build a to-do list. The generator that produces "Angry Waffle" gets built twice as long, and the learning is identical.
What is the hardest project worth attempting in Scratch?
A multi-level platformer or maze game, with a start screen, a win state, a lose state and levels that load one after another. It is hard because it is the first project where the program has to keep track of where it is in itself.
Everything before this had one mode: the game was running. Now there is a title screen, a level in progress, a level completed, a game over, and the code has to know which of those it is in and behave differently in each. That idea, program state, is where a lot of children stall, and getting through it is a genuine milestone.
Expect this to take weeks rather than an afternoon, and expect it to be abandoned once or twice. That is normal and it is not a sign the child has hit their ceiling. It is the first project big enough that it cannot be held in your head all at once, which is exactly the skill it is teaching.
When has a child outgrown Scratch?
When the thing they want to build is harder to express in blocks than it would be in text. That moment usually arrives during the platformer, and it sounds like frustration at Scratch rather than at the problem.
Watch for the specific complaint. A child saying "this is boring" is usually under-challenged and needs a bigger project. A child saying "there are too many blocks" or "I keep losing track of it" has hit the actual limit of the tool, and that is the signal to start Python. Our comparison of Scratch versus Python for kids covers what that move involves, and if your child has not built anything yet, making a first Scratch game is the place to start instead of here.
Nothing above needs a paid class. Scratch is free, the projects are buildable at a kitchen table, and a parent asking "what would you change to make it do the opposite?" supplies most of what a teacher would. If you would rather it were taught, ours are $40 a month for small group classes and $99 a month for one-to-one, both two live classes a week. At $99 that is under $13 per one-to-one class, and to be straight about why: we are cheaper because of where we teach from, not because the classes are shorter or the mentors are junior.
If you want to see what the guided version looks like before deciding, a free trial class is one live session with a mentor, no card details and no commitment. Bring whichever of these six they are stuck on.
See your child light up with code
Book a free 1-on-1 trial class with an expert mentor. No credit card, no commitment.
Book a Free Trial Class


