Sign in to save

Bookmark this page so you can find it later.

Sign in to save

Bookmark this page so you can find it later.

Scratch block programming helps students build animations, games, stories, and simulations by snapping code blocks together. This cheat sheet gives grades 3-8 a clear reference for the blocks they use most often. It helps students remember what each block type does and how blocks work together in a program.

A clean reference page also makes debugging and planning projects easier.

The most important ideas are events, sequences, loops, conditionals, variables, and messages. Events start scripts, such as when green flag clicked or when this sprite clicked. Control blocks repeat actions or make choices, such as repeat 10, forever, if then, and if then else.

Variables store changing information, while operators compare values or combine text and numbers.

Key Facts

  • An event block such as when green flag clicked starts a script when a specific action happens.
  • A sequence runs blocks in order from top to bottom, so block order can change the result.
  • The block move 10 steps changes a sprite's position in the direction it is facing.
  • The block repeat 10 runs the blocks inside it exactly 10 times.
  • The block forever repeats the blocks inside it until the program stops.
  • The block if condition then runs its inside blocks only when the condition is true.
  • A variable such as score can store a value, and change score by 1 increases that value by 1.
  • The block broadcast message sends a signal that can start scripts with when I receive message.

Vocabulary

Sprite
A sprite is a character or object in a Scratch project that can run scripts and appear on the stage.
Stage
The stage is the area where sprites move, talk, change costumes, and show the project.
Script
A script is a stack of connected blocks that tells a sprite or the stage what to do.
Event
An event is an action, such as clicking the green flag, that starts a script.
Loop
A loop is a control block that repeats one or more blocks a set number of times or forever.
Variable
A variable is a named storage place for information that can change while a program runs.

Common Mistakes to Avoid

  • Putting blocks in the wrong order is a mistake because Scratch runs a script from top to bottom. Place setup blocks, such as set score to 0, before blocks that use the value.
  • Using forever when repeat 10 is needed is a mistake because forever never stops on its own. Use a counted loop when the action should happen a specific number of times.
  • Forgetting an event block is a mistake because a script with no starter block may not run when expected. Add an event such as when green flag clicked or when this sprite clicked.
  • Changing a variable before creating or resetting it is a mistake because the value may carry over from an earlier run. Set variables such as score or timer to a starting value at the beginning.
  • Using if then when if then else is needed is a mistake because the program only handles the true case. Use if then else when the sprite needs one action for true and a different action for false.

Practice Questions

  1. 1 A sprite starts at x = 0. It runs move 10 steps five times while facing right. What is its new x-position?
  2. 2 A game starts with set score to 0. Then the player collects 7 coins, and each coin runs change score by 1. What is the final score?
  3. 3 Write a short Scratch plan using blocks that makes a sprite say Hello for 2 seconds when the green flag is clicked, then move 20 steps.
  4. 4 Why is a broadcast message useful when one sprite needs to make another sprite start an action at the same time?

Understanding Scratch Block Programming Reference

Scratch projects are built from many scripts that may run at the same time. This matters because a sprite can move while music plays, a timer counts, and another sprite waits for a message. Parallel scripts make projects feel active, but they can cause unexpected results.

Two scripts might both change the same variable, or one script may hide a sprite just after another script shows it. Students should notice which event starts each script and whether more than one script changes the same thing. The wait block is useful for controlling timing, but waiting in one script does not pause every other script.

Motion blocks work through a coordinate system on the Stage. The middle of the Stage is zero for the horizontal position and zero for the vertical position. Horizontal values increase toward the right.

Vertical values increase upward. A sprite can point in a direction, move relative to that direction, or go to an exact location. These are different jobs.

Use moving steps for travel that follows the sprite's facing direction. Use setting a position for placing an object precisely, such as putting a ball back at the center after a goal.

Watch for edge behavior. A sprite that bounces may turn around, while a sprite that only changes its horizontal position can move offscreen.

Looks and sound blocks help communicate what the program is doing. A costume change can show walking, speaking, damage, or a change of mood. Backdrops can mark a new level or scene.

Sound blocks can play for a set time or begin playing while later blocks continue. That difference affects timing. In a game, a sound that plays until done can delay the next action.

In an animation, a short wait between costume changes can create motion, though too much waiting makes it look slow. Sensing blocks connect code to user actions and the project state.

They can detect keys, mouse input, touching, distance, loudness, or answers typed by a player. A sensing result often belongs inside a condition.

Variables are most useful when a value must change and be remembered. Score, lives, speed, level, and time are common examples. A variable for all sprites is shared across the project.

A variable for one sprite belongs only to that sprite. Shared variables are helpful for one score display. Sprite-only variables are useful when every enemy needs its own health.

Lists store several items, such as questions, inventory objects, or high scores. Custom blocks group a repeated set of instructions under one clear name. They make long projects easier to read and reduce copying.

When debugging, test one small behavior at a time. Use say blocks or variable watchers to reveal values.

Check the order of blocks, the truth of conditions, and the exact message names. Small tests usually find errors faster than changing many blocks at once.