Singapore Learning Library · Computing & Creative Coding
Scratch programming for kids works best when a first project is small enough to finish and open enough to change. A child who can make one character move, speak, wait, react and try again has already met the central idea of programming: instructions create behaviour.
This guide to Scratch coding for kids is for young learners who need first projects, not a long lecture about computer science. It starts with stories, animations and simple games, then gradually introduces events, sequence, loops, conditionals, variables, coordinates, messages and debugging.
Scratch is designed especially for ages 8–16, although people of many ages use it. Younger children may be better served by ScratchJr, which is specifically designed for ages 5–7. The goal here is not to accelerate a child through every block. It is to help them become comfortable turning an idea into a working project, finding what broke, and changing the project on purpose.
The first programming milestone is not “knowing code”. It is discovering that an idea can be represented as instructions, tested, changed and made to work.
Quick Start | What Should a Child Build First?
| Project | Main idea | New block families |
|---|---|---|
| 1. Make a character say hello | Sequence and events | green flag, looks, wait |
| 2. Animate a name | Motion and timed changes | motion, looks, sound |
| 3. Tell a two-scene story | Events and messages | broadcast, backdrops, timing |
| 4. Build a chase game | Loops and conditions | forever, if, sensing, coordinates |
| 5. Make a score counter | Variables | set, change, compare |
| 6. Build a quiz | Input and branching | ask, answer, if/else |
1. First Principle: Let the Project Have a Point
Children learn Scratch more easily when the project is doing something they care about. “Use ten blocks” is a weak goal. “Make the cat escape a dragon” is better because the blocks now have a reason to exist.
Scratch Foundation’s creative-learning materials emphasise meaningful projects, play, iteration and getting unstuck. The child should therefore begin with an idea that is concrete enough to make but personal enough to change.
2. Project One | Make a Character Say Hello
Start with one sprite. The task is deliberately small: when the green flag is clicked, the sprite should say a greeting, wait, then say something else.
A simple version might be:
- When green flag clicked.
- Say “Hello!” for 2 seconds.
- Wait 1 second.
- Say “I made this.” for 2 seconds.
This tiny project teaches event → sequence → visible result. The blocks execute in order. If the second message appears too quickly, the child can change the timing. That is already debugging.
What to ask the learner
- What starts the project?
- Which instruction happens first?
- What would happen if we swapped the blocks?
- Which number controls the timing?
- How would you make the character sound more like you?
3. Project Two | Animate a Name
The learner chooses several letters or sprites and makes each one move, spin, change colour or play a sound when clicked or when the project begins.
This project introduces an important programming idea: different objects can have different scripts. The stage is one world, but each sprite can respond independently.
A useful constraint
Do not give every letter the same animation. Ask the learner to make each one behave differently. One can glide. One can spin. One can grow and shrink. One can play a sound.
Variation forces the child to choose rather than copy.
4. Project Three | Tell a Two-Scene Story
A story is one of the best bridges from simple blocks into program structure. The child creates two characters and two backdrops. The first scene happens, then the programme sends a message that starts the second scene.
This introduces broadcast messages. A broadcast is powerful because one part of the project can tell another part that an event has happened.
Story structure
- Scene 1 begins when the green flag is clicked.
- Character A speaks.
- Character B replies.
- A broadcast message such as “next scene” is sent.
- The stage changes backdrop.
- The sprites move or hide/show as needed.
- Scene 2 begins from the broadcast.
The important idea is coordination. Instead of one giant script controlling everything, several scripts respond to events.
5. Project Four | Build a Chase Game
The learner controls a sprite with arrow keys. A second sprite moves or appears somewhere else. Touching it earns a point or ends the game.
This is the first project where several computational ideas become visible together:
- events from key presses;
- continuous loops;
- coordinates and direction;
- sensing whether sprites touch;
- conditions that decide what happens next;
- random placement or movement;
- variables for score.
The movement script
A child can begin with four short scripts: when the right arrow is pressed, change x; left arrow changes x in the opposite direction; up and down change y.
This is more useful than memorising coordinates abstractly because the stage becomes a live coordinate plane.
The collision rule
Inside a forever loop, ask whether the player sprite is touching the target. If yes, change the score and move the target somewhere else.
That introduces the structure repeat → check condition → act.
6. Project Five | Add a Score Counter
Variables are often introduced too early as vocabulary. Scratch makes the idea visible. A score variable is simply a named place where the programme keeps a number that can change.
- Create a variable called Score.
- Set Score to 0 when the green flag is clicked.
- Change Score by 1 when the target is touched.
- Display the variable while testing.
Now the child can ask useful programming questions: What should reset the value? Which event changes it? Can the score go down? What ends the game?
7. Project Six | Make a Quiz
A quiz introduces user input and branching. The programme asks a question, waits for an answer, and checks whether the answer matches the expected value.
The structure is:
- Ask a question and wait.
- Read the answer.
- If the answer is correct, respond one way.
- Else, respond another way.
- Update the score if required.
- Move to the next question.
The child is now working with input → comparison → decision → output. That pattern appears throughout computing.
8. Why Scratch Blocks Are Good for First Programming
Scratch uses blocks that snap together only in combinations that make structural sense. This removes much of the syntax burden that can dominate a beginner’s first experience in a text-based language.
The learner can therefore focus on higher-value questions:
- What should happen?
- What starts it?
- What repeats?
- What changes?
- What should happen only if a condition is true?
- What information must the programme remember?
- Why did the actual result differ from the intended result?
9. Sequence, Loop, Condition, Variable
| Programming idea | Child-friendly meaning | Scratch example |
|---|---|---|
| Sequence | Do these instructions in this order | move → say → wait → turn |
| Loop | Repeat this pattern | forever move and check for touching |
| Condition | Do something only when a test is true | if touching target, increase score |
| Variable | Remember a value that can change | Score = Score + 1 |
| Event | Start a script when something happens | when green flag clicked / when key pressed |
| Message | Tell another part of the project something happened | broadcast “next scene” |
10. Debugging Is the Real Beginner Skill
A child should expect the first version not to work perfectly. Debugging is not evidence that the learner failed. It is the work of comparing intended behaviour with actual behaviour and finding the first difference.
- Say what the project is supposed to do.
- Run it and describe what actually happened.
- Find the first moment the two stories diverge.
- Inspect only the blocks responsible for that moment.
- Change one thing.
- Run the project again.
This routine is more powerful than an adult saying, “Your code is wrong here.” The child is learning how to recover independently.
11. The Adult Should Ask Before Taking the Mouse
Parents and teachers can accidentally turn a creative coding activity into a demonstration of adult speed. A learner gets stuck, the adult takes the mouse, fixes the script in ten seconds, and the project works. The project is repaired. The learner’s debugging skill is not.
Useful prompts include:
- What did you expect to happen?
- What happened instead?
- Which script controls that sprite?
- What block starts this script?
- What changes if we move this block?
- Can we test one smaller part?
- Do you want a hint or more time?
12. Remixing Is a Legitimate Way to Learn
Scratch Foundation provides starter projects that contain simple code a learner can inspect and remix. This is valuable because programming is not learned only from blank pages.
A child can change one character, rule, sound, speed or scoring system and then watch what those changes do to the whole project. Remixing becomes learning when the learner can explain what was changed and why.
13. A Good First-Project Ladder
| Stage | Project type | What should become independent |
|---|---|---|
| A | Single sprite animation | Starting an event and arranging a sequence |
| B | Interactive animation | Responding to clicks or keys |
| C | Story with scenes | Broadcasts and coordination |
| D | Simple game | Loops, sensing and conditions |
| E | Game with score | Variables and reset logic |
| F | Quiz or simulation | Input, branching and state |
14. Do Not Teach Every Block Before the First Project
Scratch contains many block categories. A beginner does not need a tour of all of them before making something.
Teach blocks when the project creates a reason for them. A learner needs a variable when the game must remember a score. The learner needs a broadcast when one scene has to trigger another. The learner needs a loop when repetition becomes obvious.
Purpose makes the block memorable.
15. Scratch for Younger Children | Use ScratchJr When It Fits Better
Scratch is designed especially for ages 8–16, although younger children can use it with adult support. ScratchJr was designed specifically for ages 5–7 and uses a simpler interface for creating interactive stories and games.
The right tool depends on the learner. A five-year-old does not benefit from being rushed into the older interface merely because “real coding” sounds more advanced.
16. Reading and Writing Still Matter in Coding
Scratch reduces syntax, but programming still uses language. The learner reads block labels, names variables, writes dialogue, follows conditions and explains what the project should do.
This creates a useful bridge between computing and language: precise words make precise instructions. A variable called x may be mathematically elegant later; a beginner may learn more from a variable called score, lives or time left.
17. Mathematics Appears Naturally
Coordinates, angles, random numbers, comparison, time and change all appear inside Scratch projects. The goal is not to turn every game into a Mathematics worksheet. It is to notice when a mathematical idea solves a programming problem.
A child who wants a sprite to move to the right has a reason to understand x. A child who wants an object to appear unpredictably has a reason to understand random numbers and ranges.
18. A First Six-Week Home or Classroom Route
| Week | Build | Teacher/parent focus |
|---|---|---|
| 1 | Greeting + animated name | Events and sequence; let the learner personalise heavily |
| 2 | Two-scene story | Broadcasts, timing and coordination |
| 3 | Keyboard movement | Coordinates and input |
| 4 | Chase game | Forever loops, sensing, conditionals |
| 5 | Score and game over | Variables and programme state |
| 6 | Remix or original project | Independent planning, debugging and explanation |
19. What Progress Looks Like
Progress is not the number of Scratch blocks a child can name. It is a change in behaviour.
- The learner starts a project without waiting for every instruction.
- The learner can predict what a short script will do.
- The learner notices which sprite owns which script.
- The learner tests one part instead of changing everything at once.
- The learner can explain a bug in words.
- The learner can remix an example without copying blindly.
- The learner begins inventing features that were not in the tutorial.
20. When to Move Beyond Scratch
Scratch can remain useful for years, especially for storytelling, games, simulations and algorithmic thinking. A learner is ready to explore text-based programming when the next project needs ideas that Scratch makes awkward, or when the child is curious about how syntax, files, libraries and larger programs work.
Do not move simply because block coding looks childish. Move because the learner has a new computational job that another tool can serve better.
Frequently Asked Questions
What age is Scratch for?
Scratch is designed especially for ages 8–16, but people of many ages use it. ScratchJr is designed for ages 5–7.
What is the best first Scratch project?
A tiny animation or greeting is ideal because the learner can finish it quickly, personalise it and immediately see how sequence and events work.
Should children learn coding terms before they start?
Teach a few terms as the project needs them. Meaning is easier to retain when the learner has just used the idea.
Is Scratch real programming?
Yes. The interface is block-based, but learners still work with events, sequence, repetition, conditions, variables, input, state, decomposition and debugging.
Should a parent fix bugs for the child?
Help the child locate the first divergence between intended and actual behaviour. A direct fix may save time but can remove the debugging decision the learner needs to practise.
Can Scratch help with school subjects?
Yes. It can model stories, Mathematics, Science ideas and simple simulations. It does not need to become a disguised worksheet every time; creative projects are valuable in their own right.
Official Scratch Resources
- Scratch — create and explore projects.
- About Scratch — official overview and age guidance.
- Scratch Foundation Learning Library — activities and learning resources.
- Starter Projects — examples designed for remixing.
- Scratch Creative Learning Philosophy.
- ScratchJr — introductory coding for ages 5–7.
Continue Through the Singapore Learning Library
Return to the Singapore Learning Library for the wider public-learning route. Use The Best Time to Teach a Child How to Use AI when the next question is how coding, AI and digital literacy should develop without replacing foundational learning.
