Scratch Project Templates¶
Day 1 Project Ideas and Templates¶
Project 1: Moving Cat (Beginner)¶
Time: 30-45 minutes Learning Objectives: - Navigate Scratch interface - Use motion blocks - Understand events
Instructions¶
-
Open Scratch and create a new project
-
Make the cat move:
-
Add continuous movement:
-
Add turning:
-
Add sound:
Extensions¶
- Change the sprite
- Add more sprites
- Change speed
- Add different sounds
Project 2: Dancing Sprite (Intermediate)¶
Time: 45-60 minutes Learning Objectives: - Use looks blocks - Combine motion and appearance - Use repeat loops
Instructions¶
-
Choose a sprite (or create your own)
-
Create a dance sequence:
-
Add size changes:
-
Make it continuous:
Extensions¶
- Add background music
- Create multiple dancing sprites
- Add color effects
- Create a synchronized dance
Project 3: Interactive Story (Intermediate)¶
Time: 60-90 minutes Learning Objectives: - Use multiple events - Create scenes with backgrounds - Add user interaction
Instructions¶
- Plan your story:
- Beginning, middle, end
- Characters
- Settings (backgrounds)
-
User interactions
-
Set up backgrounds:
- Add at least 3 backgrounds
-
Name them clearly
-
Create opening scene:
-
Add character interactions:
-
Add scene transitions:
-
Add multiple characters:
- Each character can have different scripts
- Use "broadcast" to coordinate actions
Story Template Structure¶
Scene 1: Introduction - Introduce characters - Set the scene - Present a problem
Scene 2: Development - Character tries to solve problem - User makes choices - Consequences of choices
Scene 3: Resolution - Problem is solved - Lesson learned - Happy ending
Extensions¶
- Add sound effects
- Create multiple endings based on choices
- Add animations
- Include educational content
Project 4: Score Keeper with timer (Variables + loops)¶
Time: 45–60 minutes
Learning Objectives:
- Create and use variables (score, time)
- Use forever, repeat until, and conditions together
- Coordinate two scripts that both start with the green flag
Instructions¶
- Create two variables (For all sprites is easiest so you can show monitors on the stage):
score— how many times the player caught the sprite-
time— seconds left in the round -
Build three scripts on the same sprite (e.g. the cat). Together they give: reset score, countdown, click to score, sprite jumps to a new random place every second while time is left, then Game Over!
Script 1 — reset score when the game starts
Script 2 — click adds a point; sprite keeps jumping while time remains
When this sprite clicked
change (score) by (1)
forever
if <(time) > (0)> then
go to (random position)
wait (1) seconds
Motion: use go to and choose random position from the dropdown (Scratch 3).
Script 3 — 10 second countdown, then message
When green flag clicked
set (time) to (10)
repeat until <(time) = (0)>
wait (1) seconds
change (time) by (-1)
say [Game Over!] for (2) seconds
The final say [Game Over!] attaches under the green flag, after the repeat until loop—not inside the loop.
What you should see when you run it¶
- Green flag:
scoreresets to 0,timecounts down from 10 to 0 (about 10 seconds). - Before time runs out, each click on the sprite adds 1 to
scoreand starts the sprite jumping to a random position every 1 second (only whiletime> 0). - When
timereaches 0, the sprite saysGame Over!for 2 seconds.
Common mistake: many forever loops from repeated clicks¶
Every time the player clicks, Script 2 starts another forever loop. Several clicks → several loops running at once (weird speed / behaviour).
Recommended fix — keep one movement loop on the green flag, and use the click only for scoring:
When green flag clicked
forever
if <(time) > (0)> then
go to (random position)
wait (1) seconds
When this sprite clicked
if <(time) > (0)> then
change (score) by (1)
Then the sprite moves automatically during the round; clicks only increase score. Remove the old “click + forever” stack if you use this pattern.
Extensions¶
- Add
play sound [pop] until donewhen the sprite is clicked - Show
join [Score: ] (score)with asayblock or variable monitor - Change starting time (e.g. 20) or count faster
- Add You Win! if
scorereaches a target before time runs out - Use several sprites, each with its own click script sharing the same
scoreandtime
Project 5: Number Guessing Game (Conditions)¶
Time: 60-90 minutes
Learning Objectives:
- Use operators
- Apply conditions (if-then-else)
- Use repeat until for a game loop
- Create interactive games
Instructions¶
- Create variables (For all sprites or for this sprite only—your choice):
secret number— the hidden value (1–10)guess— the player’s latest answer-
attempts— how many guesses so far -
Build this complete script on one sprite (e.g. the cat).
It matches the usual classroom layout: intro → loop with Too low / Too high → final lineCorrect! Attempts: ….
When green flag clicked
set (secret number) to (pick random (1) to (10))
set (attempts) to (0)
say [I am thinking of a number between 1 and 10, can you guess it?] for (2) seconds
repeat until <(guess) = (secret number)>
ask [Enter your guess:] and wait
set (guess) to (answer)
change (attempts) by (1)
if <(guess) < (secret number)> then
say [Too low!] for (2) seconds
else
if <(guess) > (secret number)> then
say [Too high!] for (2) seconds
say (join [Correct! Attempts: ] (attempts)) for (2) seconds
Nest the if / else blocks inside the repeat until. The final say (join …) block attaches under the when green flag clicked hat, after the whole repeat until loop—not inside the loop.
- What you should see when you run it
- After each wrong guess: Too low! or Too high! (for 2 seconds).
- When the guess is correct, the loop stops (no “too low/high” on that turn).
- Then the sprite says
Correct! Attempts:followed by the number of tries, e.g.Correct! Attempts: 4.
Common mistake (wrong if inside the loop)¶
Some scripts use an else branch like “if guess = secret number then say Too high”. That is backwards: when the guess equals the secret, the game is correct, not too high.
- Too low →
guess < secret number - Too high →
guess > secret number - Correct → handled by exiting
repeat until; the join line runs after the loop.
Extensions¶
- Increase number range
- Add maximum attempts limit
- Create difficulty levels
- Add hints
- Track best score
Project 6: Shape Drawer (Custom Blocks)¶
Time: 60-90 minutes Learning Objectives: - Create custom blocks (functions) - Understand code reuse - Apply mathematical concepts
Instructions¶
- Create custom block for square:
- Go to "My Blocks"
- Click "Make a Block"
- Name it "draw square"
-
Click "OK"
-
Define the square function:
-
Use the custom block:
-
Create triangle function:
-
Create pattern:
-
Add parameters:
- Create block "draw square with size"
- Add number input parameter
- Use parameter in function
Extensions¶
- Create functions for other shapes
- Add color parameters
- Create complex patterns
- Build geometric art
Assessment Criteria¶
Beginner Projects (Moving Cat, Dancing Sprite)¶
- Uses basic blocks correctly
- Project runs without errors
- Shows understanding of events
Intermediate Projects (Interactive Story, Score Keeper)¶
- Uses multiple concepts together
- Includes user interaction
- Code is organized and readable
Advanced Projects (Number Guessing Game, Shape Drawer)¶
- Uses variables and conditions effectively
- Creates reusable code (custom blocks)
- Solves problems creatively
Tips for Teachers¶
- Start Simple: Begin with basic projects and add complexity
- Encourage Experimentation: Let students explore and modify
- Celebrate Mistakes: Errors are learning opportunities
- Share Projects: Use Scratch community for inspiration
- Connect to Curriculum: Link projects to subject content
Student Handout Template¶
Project Name: _____
Learning Goal: _____
Steps: 1. __ 2. __ 3. _____
Challenge: _____
Extension: _____
What I Learned: _____