Unit 5 — Scratch Advanced: Game Design, then Unit 6 — Python Taster begins. You already know variables, conditionals and events — time to build something more impressive, then meet a professional text-based language.
Lesson 14 — Scratch Game Part 2: Timer, Lives and Clones
What you'll achieve: an enhanced version of your Lesson 4 game with a timer, lives, clones and a game-over screen.
Scratch
Clone
A temporary copy of a sprite created while the program is running.
Lives
A variable representing how many mistakes a player can make before losing.
Broadcast / receive
A way for one part of a script to trigger another part, even on a different sprite.
I Do
Today builds three upgrades: a countdown timer, a lives system, and clones — which let one sprite's script create many copies without extra sprites. "when I start as a clone" only runs for clones, not the original sprite — that's the trickiest part to get right.
We Do
Build the timer: variable "timer", set to 30, forever loop counting down, broadcasting "game over" at 0.
Build lives: variable "lives", set to 3, decreasing on hit, broadcasting "game over" at 0.
Add clones to the enemy sprite: "forever: create clone of myself" and "when I start as a clone" to control each one.
You Do
Open your Lesson 4 game.
Add a "timer" variable counting down from 30 that ends the game at 0.
Add a "lives" variable starting at 3 that ends the game at 0.
Turn your enemy or collectible into a clone-generating sprite.
Create a game-over backdrop and broadcast "game over" to switch to it and stop all scripts.
Test that the game ends correctly on BOTH the timer running out and lives reaching 0.
Lesson 15 — Polish and Publish: Finishing Your Scratch Game
What you'll achieve: a published, polished Scratch game with peer feedback.
Scratch
High score
The best score achieved, kept even after a new round starts.
Publish (in Scratch)
Making a project visible and shareable on the Scratch website.
"Two stars and a wish"
A feedback structure: two things done well, one thing to improve.
I Do
Small additions make a big difference to how a game feels. Watch your teacher add a sound effect on scoring, build a start screen ("when green flag clicked, switch to start backdrop, wait until space key pressed, switch to game backdrop"), add a high score check, publish a project, and model a specific "two stars and a wish" comment.
We Do
Add one sound effect on a score event together.
Build the high score logic: "if score > high score then set high score to score", displayed at game-over.
You Do
Add at least one sound effect triggered by a game event.
Build a start screen that waits for a key press before the game begins.
Implement a high score and display it alongside the current score.
Click Share to publish your project and copy the link.
Play a partner's game and leave a "two stars and a wish" comment.
Lesson 16 — Scratch Showcase: Demo, Discuss and Look Ahead to Python
What you'll achieve: a live demo of your finished game, plus a class discussion connecting concepts to Python.
Scratch
Concept (programming)
A core idea used across many programs, such as a loop or a variable, regardless of the language.
Text-based language
A programming language written as typed text rather than dragged blocks, for example Python.
Syntax
The exact rules for how code must be written in a particular language.
I Do
Today has two halves: demos and showcase, then a discussion connecting everything to what's next. A good demo states your name and game title, plays for up to 2 minutes showing key features, and names ONE programming concept you used — explaining the concept is the actual learning goal, not just playing silently.
We Do
Run demos in pairs or individually, with the class giving a thumbs signal plus one verbal comment after each. Surface common threads: variables for score, loops for movement, conditionals for collisions.
You Do
Write down 3 programming concepts you used in your game this unit, with one sentence each on where you used them.
Look at a Scratch-vs-Python side-by-side comparison and match each part.
Predict one thing that will be easy about Python, and one that will be tricky.
Before You Go
What did you learn today? Explain in your own words.
Lesson 17 — Python First Look: Hello, World and Your First Variable
What you'll achieve: a first working Python program — a personalised greeting using print, input and a variable.
Python
print()
A command that displays text or values on the screen.
input()
A command that pauses the program and lets the user type something in.
Syntax error
A mistake in how code is written that stops it running, for example a missing bracket or quotation mark.
I Do
Python is one of the most widely used professional programming languages in the world. Watch your teacher type print("Hello, world!") and run it, then name = input("What is your name? ") followed by print("Hello, " + name + "!") — the same idea as Scratch's "ask and wait" and "answer", but every character matters now. Missing quotation marks, brackets or colons are the single most common reason code "doesn't work".
We Do
Type each line together and run after each one, checking the output appears. Deliberately delete a quotation mark to see a real Python error message and how to read the line number it points to.
You Do
Open Thonny (or trinket.io) and start a new file.
Write a print() welcome message of your choice.
Write an input() line asking the user's name, stored in a variable.
Write a print() line combining your name variable into a personalised message.
What you'll achieve: a working calculator taking two numbers and showing their sum, difference, product and quotient.
Python
int()
A command that converts text (like input) into a whole number so maths can be done with it.
f-string
A way of writing text in Python that lets you insert variable values directly, written as f"...{variable}...".
Quotient
The result of dividing one number by another.
I Do
Watch what happens when two numbers typed with plain input() are added: "5" + "3" gives "53", not 8, because input() always returns text. The fix is int(input(...)). An f-string like print(f"The sum is {num1 + num2}") lets you calculate and display in one line.
We Do
Build together: two int()-converted inputs, then print the sum with an f-string, testing with 5 and 3. Add difference, product and quotient one at a time, testing after each.
You Do
Ask the user for two numbers using input(), converting each with int().
Calculate and print the sum, difference, product and quotient, each with an f-string.
Test with at least three different pairs of numbers and check every result is correct.