Skip to content
Back to resourcesCoding

Scratch Programming Starter Guide

A free step-by-step guide to teaching Scratch programming to primary school learners. Covers setup, block categories, project ideas, and session planning.

Teachers & Parents|Beginner (Grade 4–6)|6 min read

What is Scratch?

Scratch is a free visual programming language developed by MIT's Lifelong Kindergarten group. Instead of typing code, learners drag and drop colourful blocks that snap together like puzzle pieces. It's the perfect entry point for children who have never programmed before.

Website: scratch.mit.edu

Scratch runs in any web browser — no installation needed. Learners can also download the offline editor for use without internet access.


Getting Started

Setting Up Scratch

  1. Online: Go to scratch.mit.edu and click "Create"
  2. Offline: Download the Scratch Desktop app from scratch.mit.edu/download
  3. Create an account (optional but recommended) so learners can save and share their projects

The Scratch Interface

When you open Scratch, you'll see:

  • Stage (top-right) — where your project runs and the sprite moves
  • Sprite list (bottom-right) — all the characters/objects in your project
  • Block palette (left) — the coding blocks organised by category
  • Scripts area (centre) — where you drag blocks to build your program
  • Green flag / Red stop — to run and stop your program

Block Categories Explained

Scratch organises its blocks into colour-coded categories:

Motion (Blue)

Controls where the sprite moves on the stage.

  • move 10 steps — moves the sprite forward
  • turn 15 degrees — rotates the sprite
  • go to x: 0 y: 0 — moves to a specific position
  • glide 1 secs to x: 0 y: 0 — smooth movement

Try this: Make the cat walk across the screen using move and turn blocks.

Looks (Purple)

Controls how the sprite appears.

  • say "Hello!" for 2 seconds — speech bubble
  • change size by 10 — grow or shrink
  • switch costume to... — change appearance
  • hide / show — visibility

Sound (Pink)

Plays sounds and music.

  • play sound Meow until done
  • start sound Pop
  • change volume by -10

Events (Yellow)

Triggers that start your code running.

  • when green flag clicked — most common, starts the program
  • when this sprite clicked — runs when you click the sprite
  • when space key pressed — keyboard input

Control (Orange)

Logic and loops — the real programming power.

  • wait 1 seconds — pause
  • repeat 10 — do something 10 times
  • forever — loop forever (great for games)
  • if...then — make decisions
  • if...then...else — make choices between two options

Sensing (Light Blue)

Detects things in the project world.

  • touching mouse pointer? — collision detection
  • ask "What's your name?" and wait — user input
  • mouse x / mouse y — mouse position

Operators (Green)

Maths and logic calculations.

  • pick random 1 to 10 — random numbers
  • _ + _, _ - _, _ * _, _ / _ — arithmetic
  • _ > _, _ < _, _ = _ — comparisons

Variables (Dark Orange)

Store information like scores, names, or counters.

  • set my variable to 0
  • change my variable by 1
  • Use "Make a Variable" button to create new ones

3 Starter Project Ideas

Project 1: Animated Greeting Card (30 minutes)

Concepts: Events, Looks, Sound

  1. Choose a colourful backdrop (click the backdrop icon, choose from library)
  2. Add a sprite (e.g., a party hat or cake)
  3. When green flag clicked:
    • say "Happy Birthday!" for 3 seconds
    • play sound Birthday until done
    • change size by 50
    • wait 1 second
    • change size by -50
  4. Extension: Add more sprites that appear one at a time

Project 2: Chase Game (45 minutes)

Concepts: Motion, Control, Sensing, Variables

  1. Cat sprite (player): When green flag clicked → foreverpoint towards mouse pointermove 3 steps
  2. Mouse sprite (target): When green flag clicked → forevergo to random positionwait 2 seconds
  3. Scoring: Create a variable called "Score". On the cat: if touching Mouse then change Score by 1
  4. Extension: Add a timer that counts down from 30

Project 3: Interactive Story (60 minutes)

Concepts: Events, Looks, Control, Broadcast

  1. Create 3 backdrops (scenes of your story)
  2. Add 2 character sprites
  3. Scene 1: Character 1 says something → asks a question with ask block
  4. Use if answer = "yes" then to branch the story
  5. broadcast "scene2" to switch to the next scene
  6. Extension: Add sound effects and costume changes

How to Run a Pair-Programming Session

Pair programming means two learners share one computer. One is the "driver" (controls the mouse/keyboard) and the other is the "navigator" (gives directions and catches mistakes). They swap roles every 10–15 minutes.

Why It Works

  • Builds teamwork and communication skills
  • Learners explain their thinking out loud (deepens understanding)
  • Less frustration — two minds solving problems together
  • Quieter learners get drawn into conversation naturally

Session Structure (2 hours)

| Time | Activity | Notes | |------|----------|-------| | 0:00–0:15 | Warm-up | Review last session, quick quiz (hands up) | | 0:15–0:45 | New concept | Introduce 1 new block category with live demo | | 0:45–1:30 | Build time | Pairs work on a mini-project using the new concept | | 1:30–1:50 | Show & tell | 2–3 pairs present what they made | | 1:50–2:00 | Wrap-up | What did we learn? Preview of next session |

Tips for Facilitators

  • Walk around constantly — don't sit at the front
  • Ask questions instead of giving answers: "What do you think will happen if...?"
  • Celebrate mistakes — they're where the real learning happens
  • Keep the energy up — play music during build time, countdown timers for transitions
  • Take photos (with permission) for parents and social media

Troubleshooting Common Issues

| Problem | Solution | |---------|----------| | "My sprite disappeared!" | It probably moved off-screen. Drag it back from the sprite list, or use go to x: 0 y: 0 | | "Nothing happens when I click the flag" | Make sure your code starts with a yellow "Events" block like when green flag clicked | | "The blocks won't connect" | Some blocks only connect in certain places. Check the shape — flat tops go under rounded bottoms | | "My sprite spins forever" | You probably have a forever + turn loop. Add a wait block inside the loop | | "I can't find the block I need" | Check each block category (colour tabs) on the left. Use the search box at the top of the blocks palette | | "My code runs too fast" | Add wait 0.1 seconds blocks inside loops to slow things down |


CAPS Curriculum Alignment

This guide aligns with the CAPS Technology curriculum for the Intermediate Phase:

  • Grade 4: Basic understanding of how information is processed (input → process → output)
  • Grade 5: Simple programming concepts — sequences and repetition
  • Grade 6: Decision-making in programs (if/then), variables, and debugging

Scratch projects can be assessed using the same rubric criteria as CAPS Technology projects: planning, creating, evaluating, and communicating.


Next Steps

Once learners are comfortable with Scratch, they can progress to:

  1. Scratch extensions — add video sensing, music, pen drawing, and LEGO integration
  2. Scratch community — share projects, remix others' work, join studios
  3. Python — text-based programming (try Trinket or Replit)
  4. Arduino — physical computing with real circuits (see our Arduino Worksheet Pack)

This resource is provided free by M²P INNOVATION Hub. Feel free to print, share, and adapt it for your classroom.

Found this useful?

Share it with a colleague or browse more free resources for your classroom.

Browse All Resources