๐Ÿฑ

Start From Scratch

Learn to code with Scratch โ€” start from nothing, build anything!

โœจ Taught by Monty, aged 11

What is Scratch? ๐Ÿฑ

Scratch is a free coding tool made by MIT for kids just like you! Instead of typing complicated code, you snap together colourful blocks โ€” just like LEGO, but for making games, stories, and animations.


๐ŸŒ Over 100 million kids around the world use Scratch. You can make anything you imagine โ€” and even share it with others!


๐Ÿš€ Go to Scratch.mit.edu
๐Ÿ”ต Move 10 steps
๐ŸŸก When ๐Ÿšฉ clicked
๐ŸŸฃ Say "Hello!" for 2 secs
๐ŸŸ  Repeat 10 times
๐ŸŸฃ Play sound Pop
๐Ÿ”ต Ask "What's your name?"

๐Ÿ“š Lessons

Click any lesson card to open the full guide!

๐Ÿ–ฅ๏ธ

Getting Started

Create your free Scratch account, learn what the screen looks like, and make your first sprite move!

๐ŸŽฏ What you'll learn

By the end of this lesson you'll have a free Scratch account, know what every part of the screen does, and have made your very first sprite move!

๐Ÿ“‹ Step 1 โ€” Create your account

1

Go to scratch.mit.edu in your browser. Ask a parent to help if needed.

2

Click "Join Scratch" in the top right and fill in a username and password. Don't use your real name in the username!

3

Once logged in, click "Create" at the top to open the Scratch editor.

๐Ÿ—บ๏ธ Step 2 โ€” Learn the screen

The Scratch editor has four main areas:

  • Block palette (left) โ€” all your colourful code blocks, sorted by category
  • Scripts area (middle) โ€” drag blocks here to build your code
  • Stage (top right) โ€” the area where your project runs live
  • Sprite list (bottom right) โ€” shows all your characters and objects

๐Ÿƒ Step 3 โ€” Make your first sprite move

1

The Scratch Cat is already on your stage. Click it in the sprite list to select it.

2

Click Events (yellow) in the block palette. Drag a When ๐Ÿšฉ clicked block into the scripts area.

3

Click Motion (blue). Drag a Move 10 steps block and snap it underneath.

4

Click the green flag above the stage. The cat moves right! Click again and again โ€” the cat keeps walking.

๐ŸŒŸ Challenge: Change the number in the Move block to 50. What happens? Try -10 โ€” which direction does the cat go?

๐Ÿƒ

Motion Blocks

Make your sprite walk, turn, glide, and bounce around the screen using blue Motion blocks.

๐ŸŽฏ What you'll learn

Motion blocks are blue. They control where your sprite moves, which direction it faces, and how it gets around the stage.

โญ The most useful Motion blocks

  • Move 10 steps โ€” moves forward in whichever direction the sprite is facing
  • Turn โ†ป 15 degrees โ€” rotates clockwise. Use Turn โ†บ to go anti-clockwise
  • Go to x: 0 y: 0 โ€” teleports to exact coordinates. Centre of stage = x:0, y:0
  • Glide 1 secs to x: y: โ€” smoothly slides to a position over time
  • If on edge, bounce โ€” makes the sprite turn around at the edge of the screen
  • Point in direction 90 โ€” 90=right, -90=left, 0=up, 180=down

๐Ÿƒ Activity โ€” Bouncing sprite

1

Add a When ๐Ÿšฉ clicked block.

2

Snap a Forever loop underneath (from Control section).

3

Inside the Forever loop, add Move 10 steps then If on edge, bounce.

4

Press the green flag โ€” your sprite bounces back and forth forever!

๐ŸŒŸ Challenge: In the sprite settings (below the stage), set rotation style to "left-right only" so it doesn't flip upside down. Try changing the speed to 5 or 20 โ€” what difference does it make?

๐Ÿ’ฌ

Looks & Speech

Change costumes, make speech bubbles, resize your sprite, and create cool visual effects!

๐ŸŽฏ What you'll learn

Looks blocks are purple. They control how your sprite appears โ€” what it says, what it wears, how big it is, and any special effects.

โญ Key Looks blocks

  • Say "Hello!" for 2 secs โ€” shows a speech bubble for a set time, then disappears
  • Think "Hmm..." for 2 secs โ€” shows a thought bubble (the cloudy kind!)
  • Switch costume to [name] โ€” changes the sprite's outfit
  • Next costume โ€” switches to the next costume automatically
  • Set size to 100% โ€” changes how big the sprite appears
  • Set [colour] effect to 50 โ€” adds visual effects like colour changes or ghosting

๐ŸŽญ Activity โ€” Walking animated cat

1

Click the Scratch Cat and then the Costumes tab at the top. Notice it has two costumes with legs in different positions!

2

Go to the Code tab. Build: When ๐Ÿšฉ clicked โ†’ Forever โ†’ Next costume โ†’ Wait 0.2 secs.

3

Press the green flag โ€” the cat animates like it's walking! Now add Move 5 steps and If on edge, bounce inside the loop too.

4

Before the Forever loop, add Say "I'm walking!" for 2 secs so the cat introduces itself first.

๐ŸŒŸ Challenge: Add a second sprite. Make it say "Hello!" when the flag is clicked. Can you make both sprites say things one after the other?

๐ŸŽน

Sounds & Music

Add sound effects, record your own voice, and compose music for your projects!

๐ŸŽฏ What you'll learn

Sound blocks let you play sounds, record your own voice, and build music into your projects. They make everything feel much more alive!

โญ Key Sound blocks

  • Play sound [Meow] until done โ€” plays a sound and waits for it to finish before moving on
  • Start sound [Meow] โ€” plays a sound but immediately moves to the next block
  • Stop all sounds โ€” silences everything
  • Set volume to 100% โ€” controls how loud sounds are
  • Change pitch effect by 10 โ€” makes sounds higher or lower

๐ŸŽต Activity โ€” Keyboard sounds

1

Select your sprite and click the Sounds tab. Click the speaker icon with a + (bottom left) to browse hundreds of free sounds. Try "Pop", "Drum", "Laser" or "Cheer"!

2

In the Code tab, add: When [Space] key pressed โ†’ Play sound [Pop] until done.

3

Press the green flag then tap the spacebar. Your sound plays! Try adding different sounds to different keys.

๐ŸŒŸ Challenge: Click the Record button in the Sounds tab to record your own voice. Make your sprite play your recording when clicked!

๐Ÿ”„

Loops & Repeating

Use "repeat" and "forever" loops to make your code run again and again without retyping anything!

๐ŸŽฏ What you'll learn

Loops are one of the most important ideas in all of coding! Instead of stacking the same block 100 times, a loop runs the code inside it over and over automatically.

โญ The three loop blocks

  • Forever โ€” runs the blocks inside non-stop until you press the red stop button
  • Repeat 10 โ€” runs the blocks inside exactly 10 times (you can change the number)
  • Repeat until <> โ€” keeps looping until a condition becomes true

๐ŸŒ€ Activity โ€” Draw a shape with loops

1

Click the blue puzzle piece (bottom left of block palette) and add the Pen extension to get drawing blocks.

2

Build: When ๐Ÿšฉ clicked โ†’ Pen down โ†’ Repeat 4 โ†’ inside: Move 100 steps โ†’ Turn 90 degrees.

3

Press the green flag โ€” a perfect square is drawn! Change 4 to 3 and 90 to 120. What shape does that make?

4

Wrap the whole thing in a Repeat 36 loop and add a Turn 10 degrees at the end of each repeat. You'll get a beautiful spirograph pattern!

๐ŸŒŸ Challenge: Use a Forever loop to continuously change a sprite's colour with Change [colour] effect by 25 plus a Wait 0.1 secs. It'll cycle through a rainbow!

โ“

If / Then Logic

Make decisions in your code โ€” this is where things get really exciting!

๐ŸŽฏ What you'll learn

If/Then logic lets your code make decisions. "IF this thing is true, THEN do this." Without it, your project just runs the same way every time no matter what.

โญ The if blocks

  • If <> then โ€” runs the code inside only if the condition is true
  • If <> then / else โ€” runs one set of blocks if true, a different set if false
  • Touching [mouse pointer]? โ€” detects if a sprite is touching something
  • Key [space] pressed? โ€” detects keyboard input inside an if

๐ŸŽฎ Activity โ€” Colour change on touch

1

Make a sprite follow the mouse: When ๐Ÿšฉ clicked โ†’ Forever โ†’ Point towards [mouse pointer] โ†’ Move 3 steps.

2

Inside the Forever loop, add an If <> then / else block. Put Touching [mouse pointer]? in the diamond gap.

3

In the "then" part: Set [colour] effect to 50 and Say "Got you! ๐ŸŽ‰" for 0.5 secs.

4

In the "else" part: Set [colour] effect to 0. Now move your mouse around โ€” the sprite chases you and changes colour when it catches the cursor!

๐ŸŒŸ Challenge: Add a second sprite. Use If touching [Sprite2]? then to detect collisions between sprites and trigger a sound or a game-over message!

๐Ÿ“ฆ

Variables

Store scores, lives, and timers in variables โ€” essential for making real games!

๐ŸŽฏ What you'll learn

A variable is like a labelled box that stores a number or word. The value can change while your project runs. You need variables for scores, lives, timers โ€” basically every real game uses them!

๐Ÿ“ฆ Creating a variable

1

In the block palette, click Variables. Click "Make a Variable" and name it Score. Click OK.

2

New blocks appear: Set [Score] to 0 and Change [Score] by 1. A live score counter also appears on the stage!

โญ Key variable blocks

  • Set [Score] to 0 โ€” sets it to an exact value (use at the start to reset)
  • Change [Score] by 1 โ€” adds 1 to the current value
  • Show / Hide variable [Score] โ€” controls whether the counter appears on screen

๐Ÿ† Activity โ€” Score and lives counter

1

Make two variables: Score and Lives.

2

At the very start of your script, set Score to 0 and Lives to 3.

3

When a sprite touches the mouse pointer, use Change [Score] by 1 to add a point.

4

Add: If [Score] = 10 then โ†’ Say "You win! ๐Ÿ†" โ†’ Stop [all]. First to 10 wins!

๐ŸŒŸ Challenge: Make a countdown timer! Create a Timer variable set to 30. Use Change [Timer] by -1 inside a loop with Wait 1 secs. When it hits 0, say "Time's up!"

๐Ÿ“ก

Broadcasting Messages

Make sprites talk to each other and create complex multi-sprite stories and games.

๐ŸŽฏ What you'll learn

Broadcasting is like sending a radio signal โ€” one sprite shouts a message, and any sprite that's "listening" reacts to it. This is how you get multiple sprites to coordinate and create proper scenes.

๐Ÿ“ก The broadcast blocks

  • Broadcast [message1] โ€” sends a message to all sprites and moves on immediately
  • Broadcast [message1] and wait โ€” sends a message and waits for all receivers to finish
  • When I receive [message1] โ€” placed on the receiving sprite; runs its blocks when the message arrives

๐ŸŽฌ Activity โ€” Two-sprite conversation

1

Add two sprites โ€” Cat and Dog. Position them on opposite sides of the stage.

2

On the Cat: When ๐Ÿšฉ clicked โ†’ Say "Hello Dog!" for 2 secs โ†’ Broadcast [cat-spoke].

3

On the Dog: When I receive [cat-spoke] โ†’ Say "Hello Cat! ๐Ÿพ" for 2 secs โ†’ Broadcast [dog-spoke].

4

Back on the Cat, add a new script: When I receive [dog-spoke] โ†’ Say "Nice to meet you!" for 2 secs.

5

Press the green flag. The cat speaks, the dog responds, the cat replies โ€” a full conversation, perfectly timed!

๐ŸŒŸ Challenge: When the cat reaches the edge of the screen, broadcast "new-scene". Have the Stage listen for that message and switch to a different backdrop. Instant scene change!

๐Ÿ—‚๏ธ

Lists

Store lots of data using lists โ€” perfect for quizzes, leaderboards, and inventory systems!

๐ŸŽฏ What you'll learn

A variable holds one thing at a time. A list holds many things โ€” like a shopping list. Each item has a position number. The first item is position 1, the second is position 2, and so on.

๐Ÿ“‹ Creating a list

1

In the block palette, click Variables. Click "Make a List" and name it Questions.

2

A list box appears on the stage. Click the + at the bottom to add items. Type in some quiz questions, one per slot.

โญ Key list blocks

  • Add [thing] to [Questions] โ€” adds a new item to the end of the list
  • Item 1 of [Questions] โ€” retrieves the item at position 1
  • Length of [Questions] โ€” tells you how many items are in the list
  • Delete all of [Questions] โ€” empties the whole list

โ“ Activity โ€” Quiz game

1

Create two lists: Questions and Answers. Add 3 matching pairs โ€” e.g. "What colour is the sky?" / "blue".

2

Create a variable called QuestionNumber set to 1, and a Score variable set to 0.

3

Add a Repeat [length of Questions] loop. Inside it: Ask [item QuestionNumber of Questions] and wait.

4

Use If [answer] = [item QuestionNumber of Answers] then to check the answer. Say "Correct! โœ…" or "Wrong! โŒ" and update the score.

5

After the if block, add Change [QuestionNumber] by 1 to move to the next question.

๐ŸŒŸ Challenge: After all questions, say the player's final score: combine "You scored " + Score + " out of 3" using the Join block in the Operators section!

๐ŸŽฎ Projects to Build

Click a project card to see the full step-by-step build guide!

๐Ÿฑ

Chase the Mouse

Make a cat sprite follow your mouse cursor. Score points when it catches you!

๐Ÿ“‹ What you need

Just the default Scratch Cat โ€” no extras needed. Great first project!

๐Ÿ”จ Build it step by step

1

Follow the mouse. Build: When ๐Ÿšฉ clicked โ†’ Forever โ†’ Point towards [mouse pointer] โ†’ Move 4 steps.

2

Add a score. Make a Score variable. Before the Forever loop, add Set [Score] to 0.

3

Detect the catch. Inside the Forever loop: If [touching mouse pointer?] then โ†’ Change [Score] by 1 โ†’ Play sound [Meow] until done โ†’ Wait 0.5 secs.

4

Test it! Press the green flag and move your mouse around. The cat chases you โ€” every catch scores a point and plays a meow!

5

Make it harder. Increase Move steps from 4 to 7. Try using the Bat sprite for a spookier feel!

๐ŸŒŸ Bonus: Add a Lives variable starting at 3. Each catch loses a life with Change [Lives] by -1. When Lives = 0, say "Game Over!" and stop everything.

๐ŸŒŸ

Catch the Stars

Control a basket to catch falling stars. Don't miss โ€” the speed increases as you score!

๐Ÿ“‹ What you need

Two sprites: a Star (from the Scratch library) and a Bowl or basket. You can also draw your own basket in the paint editor!

๐Ÿ”จ Build it step by step

1

Basket follows the mouse. On the Basket: When ๐Ÿšฉ clicked โ†’ Forever โ†’ Set x to [mouse x]. This slides it left and right.

2

Star falls from the top. On the Star: When ๐Ÿšฉ clicked โ†’ Go to x: [pick random -200 to 200] y: 170 โ†’ Forever โ†’ Change y by -4.

3

Catch it! Inside the Forever loop on the Star, add: If [touching Basket?] then โ†’ Change [Score] by 1 โ†’ Play sound [Collect] โ†’ respawn with Go to x: [pick random -200 to 200] y: 170.

4

Reset if missed. Add another If: If [y position < -165] then โ†’ respawn the star at the top again.

5

Add difficulty. Make a Speed variable. Start it at -4. Each time the star is caught, use Change [Speed] by -0.3 so the star falls faster and faster!

๐ŸŒŸ Bonus: Add a bomb sprite that also falls. If the basket catches it, lose a life! Use an If/Else to check if you caught a star or a bomb.

๐ŸŽน

Piano Keyboard

Build a working piano you can actually play using your computer keyboard!

๐Ÿ“‹ What you need

Add the Music extension first โ€” click the blue puzzle piece icon at the bottom left of the block palette and select "Music". This gives you note-playing blocks!

๐Ÿ”จ Build it step by step

1

Set the instrument. Add When ๐Ÿšฉ clicked โ†’ Set instrument to [Piano]. This makes all notes sound like a real piano.

2

Map the first key. Add a new script: When [a] key pressed โ†’ Play note [60] for [0.5] beats. Note 60 is Middle C.

3

Add all 8 notes (C major scale): a=60 (C), s=62 (D), d=64 (E), f=65 (F), g=67 (G), h=69 (A), j=71 (B), k=72 (high C). Create a new script for each key!

4

Visual feedback. On each keypress, add Set [colour] effect to 50 โ†’ Wait 0.1 secs โ†’ Clear graphic effects. The sprite flashes when you play!

5

Try a tune! Can you play "Mary Had a Little Lamb"? The notes are: E D C D E E E (d s a s d d d).

๐ŸŒŸ Bonus: Change the instrument to Guitar, Violin, or Drums using the instrument number. Try instrument 2 for piano with a different tone, or 18 for a xylophone!

๐ŸŽ๏ธ

Maze Game

Draw a maze, drive through it with arrow keys, and try to beat the clock!

๐Ÿ“‹ What you need

A small car sprite (try "Convertible" from the library โ€” shrink it to about 30% size) and a maze backdrop. Draw your maze in the backdrop editor using thick black lines for walls. Add a green rectangle at the finish!

๐Ÿ”จ Build it step by step

1

Set start position. On the car: When ๐Ÿšฉ clicked โ†’ Go to x: -200 y: -140 (adjust to match your maze entrance) โ†’ Point in direction 90.

2

Arrow key controls. Four separate scripts โ€” one per arrow key. Example: When [up arrow] pressed โ†’ Point in direction 0 โ†’ Move 5 steps. Repeat for down (180), left (-90), right (90).

3

Wall collision. After each Move block, add: If [touching color black?] then โ†’ Move -5 steps. Click the black colour chip in the block, then click on a wall on the stage to match it exactly.

4

Finish line. After each Move, also add: If [touching color green?] then โ†’ Say "You win! ๐Ÿ†" for 3 secs โ†’ Stop [all].

5

Add a timer. Separate script on the car: When ๐Ÿšฉ clicked โ†’ Set [Timer] to 0 โ†’ Forever โ†’ Wait 1 secs โ†’ Change [Timer] by 1. Your best time is your lowest score!

๐ŸŒŸ Bonus: Design two or three maze levels in different backdrops. When the car hits the finish line, broadcast "next-level" and switch backdrop. How many levels can you design?

๐Ÿ’ก Monty's Top Tips

01

Start Small

Don't try to build a massive game on day one! Start with one sprite doing one thing, then add more.

02

Click "See Inside"

See any cool project? Click "See Inside" to peek at their code and learn how it was made!

03

Test Often

Press the green flag after every change to check it works. Don't write loads of code before testing!

04

Use Comments

Right-click a block and add a comment to explain what it does. Future you will be grateful!

05

Share Your Work

Scratch has millions of users. Share your projects and get feedback from around the world!

06

Remix Projects

You can remix (copy and improve) any public Scratch project. It's encouraged and totally fine!

๐Ÿ“– Scratch Glossary

New words you'll hear a lot when coding with Scratch

Sprite

A character or object in your project. The default one is the Scratch Cat! You can add as many as you like.

Stage

The white area where your project runs. Like the stage at a theatre โ€” your sprites perform here!

Block

A colourful puzzle piece that gives your sprite an instruction. You snap them together to write code.

Script

A stack of blocks connected together. Your sprite follows the script from top to bottom.

Costume

The look of a sprite. By switching costumes quickly you can make animation โ€” like a flipbook!

Backdrop

The background image of the stage. Change backdrops to move between scenes in your story or game.

Variable

A box that stores a number or word. Great for keeping score, counting lives, or tracking time.

Event

Something that starts your code running โ€” like clicking the green flag or pressing a keyboard key.

Loop

A block that makes your code repeat. "Forever" loops run until you stop the project.

Broadcast

A message sent between sprites. When one sprite broadcasts, another can listen and react!

Clone

An exact copy of a sprite made while your project runs. Great for making lots of enemies or stars!

Debug

Finding and fixing mistakes in your code. Every coder does it โ€” it's part of the fun!

โ“ Frequently Asked Questions

Things kids (and parents!) often ask

Is Scratch free?
Yes! Scratch is 100% free. You can use it in a browser at scratch.mit.edu โ€” no downloads needed. It was made by MIT to help all kids learn to code.
What age is Scratch for?
Scratch is designed for ages 8โ€“16, but younger and older kids enjoy it too! The blocks are visual so you don't need to type complicated code.
Do I need to create an account?
You can try Scratch without an account, but creating a free account lets you save your projects and share them with the community. Ask a parent to help sign up!
What can I make with Scratch?
Games, animations, interactive stories, music videos, quizzes, art generators โ€” loads of things! Some kids have made incredible full games and even art installations using Scratch.
What comes after Scratch?
Once you're comfortable, try Python or JavaScript โ€” real languages used by professional developers. Everything you learn in Scratch (loops, variables, events) applies there too!
๐Ÿ‘ฆ

Hi, I'm Monty! ๐Ÿ‘‹

I'm 11 years old and I love coding with Scratch. I built this website to share what I've learned and help other kids get started.

I think coding is like a superpower โ€” once you know how to do it, you can build almost anything you can imagine. And the best part? It's really fun!

If you get stuck on anything, keep experimenting. That's how all coders learn. ๐Ÿš€

๐Ÿ“ฅ Free Worksheet

Download and print Monty's Scratch worksheet โ€” perfect for beginners!

๐Ÿ“„

Worksheet 1: Getting to Know Scratch

A 2-page printable worksheet with multiple choice questions, match-the-block, fill in the blanks, and a project design activity. Great for ages 7โ€“11!

๐Ÿ“„ 2 pages ๐Ÿ–จ๏ธ Printable PDF โญ Beginner โฑ ~20 mins
FREE
โฌ‡ Download PDF

More worksheets coming soon!

๐Ÿ”œ Coming soon: Worksheet 2 (Loops & Motion) ยท Worksheet 3 (Variables & Score) ยท Scratch Project Cards

๐Ÿ“… Book a Lesson with Monty

Learn Scratch 1-on-1 over Zoom โ€” for kids aged 6 to 11!

๐Ÿ‘ฆ

Why learn with Monty?

Learning from another kid just feels different โ€” less scary, more fun! Monty explains things in a way that makes sense, and he genuinely loves Scratch.

โœ… 1-on-1 via Zoom
โœ… Tailored to your level
โœ… Fun and friendly
โœ… Parent can join anytime
โœ… Worksheet included free
โœ… No experience needed
๐ŸŒฑ

Taster Session

ยฃ5

30 minutes

  • Perfect for first-timers
  • Get set up on Scratch
  • Make your first sprite move
Book Now
๐Ÿ†

Lesson Bundle

ยฃ35

4 ร— 1-hour lessons

  • Save ยฃ5 vs single lessons
  • Custom learning plan
  • Build a full Scratch game
Book Now

๐Ÿ“ง Click a button above or email monty@startfromscratch.club โ€” a parent will reply within 24 hours to arrange a time. All sessions require a parent or guardian to be at home.