← Certied Scratch User Level Three · Lesson 4 of 9

Module Three

📖 Every lesson in this course is free to read right here, no account needed. Create a free account to track your progress, take the exam, and earn your certificate.
1

Course Outline

Course Outline: Certified Scratch Expert Level One

📘 Course Outline

Certified Scratch Expert Level One

Your First Step to Becoming a Coding Master

🌟 Course Introduction

Welcome to the exciting world of coding! This course is designed to turn you from a complete beginner into a Certified Scratch Expert Level One. Scratch is a special programming language where you don't have to type complex code – you just snap together colorful blocks, like digital LEGO bricks .

By the end of this course, you will have created your own interactive games, animated stories, and even learned the secrets that professional developers use. You don't need any prior experience – just a curious mind and a willingness to have fun . Let's begin our adventure!

🎯 Overall Course Objectives

  • Understand the Basics: Navigate the Scratch interface and understand the core programming concepts .
  • Think Like a Programmer: Develop computational thinking skills like sequencing, debugging, and problem-solving .
  • Create Interactive Projects: Build animated stories and simple games using events, loops, and conditionals .
  • Use Core Coding Concepts: Work with variables, lists, and custom blocks (functions) .
  • Build a Complete Game: Design and code a playable game with multiple levels and a scoring system .
  • Prepare for the Next Level: Gain the skills and confidence to move on to Level Two .

📖 Warm‑up Story: Kemi's First Game

Kemi is 13 and lives in Lagos. She loves playing video games, but she always wondered, "How are these made?" One day, her teacher introduced the class to Scratch.

At first, Kemi was nervous. She thought coding was only for geniuses. But when she saw the colorful blocks and realized she could drag and drop them, her eyes lit up. She followed the lessons, starting with just moving a cat across the screen. She added sounds, then a scoring system, and finally, a whole new level!

When she finished her first game, Kemi felt like a wizard. She had turned her idea into something real. She even taught her little brother how to use Scratch. That's the power of learning to code – it's not just about computers, it's about bringing your ideas to life . You can do it too!

📚 Main Course Modules

This course is broken down into 10 easy-to-follow modules. Each one teaches you a new skill and gives you a chance to practice it.

Module 1: Your First Steps into Scratch

What You'll Learn: How to open Scratch, what all the buttons do, and how to make your first sprite move .

  • Definition & Importance: Getting comfortable with the interface is your first step to creating anything.
  • Simple Explanation: Think of Scratch like a digital playground where you are the boss.
  • Real-Life Example: A teacher opens Scratch to show the class how to program a character to dance.
  • School Example: You log in to Scratch for the first time and explore the "Sprites" and "Backdrops" panes.
  • Home Example: You and a sibling drag a block to make the cat meow.
  • Nigerian Example: A student in Kano creates a simple animation of a "Danfo" bus moving across the screen.
  • Illustration:
  • SCRATCH INTERFACE
    +-----------------------------------+
    |  [Blocks Palette]  [Code Area]    |
    |   - Motion                         |
    |   - Looks          [Sprite Area]  |
    |   - Sound                          |
    |   - Events                         |
    |   - Control                        |
    +-----------------------------------+
                        
  • Mini summary: This module gets you comfortable with the tools you'll use to build everything else.

Module 2: Motion and Looks – Bringing Your Sprites to Life

What You'll Learn: Make your characters move, glide, change costumes, and say things .

  • Definition & Importance: Motion blocks control movement. Looks blocks change how a sprite appears. This makes your story interactive!
  • Simple Explanation: It's like giving your characters stage directions in a play.
  • Real-Life Example: Creating a digital pet that walks around and talks to you .
  • School Example: Making a frog sprite glide across a pond backdrop.
  • Home Example: Making a family member's sprite wave and say "Hello!"
  • Nigerian Example: Making a sprite of a "Mama Put" seller greet the player.
  • Illustration:
  • MOTION & LOOKS BLOCKS
    +-----------------------------------+
    | Move 10 steps                     |
    | Turn 15 degrees                   |
    | Go to x: 0 y: 0                  |
    | Say "Hello!" for 2 seconds       |
    | Switch costume to [costume2]     |
    +-----------------------------------+
                        
  • Mini summary: These are the tools to animate your characters and tell your story.

Module 3: Events and the Green Flag – Starting the Show

What You'll Learn: How to trigger your code with events like clicking the green flag or pressing a key .

  • Definition & Importance: Events tell Scratch "When to start." Without them, your code won't run.
  • Simple Explanation: The "When green flag clicked" block is like the "Start" button on a video game.
  • Real-Life Example: Clicking "Play" on a streaming service starts your movie.
  • School Example: Pressing the spacebar to make a character jump.
  • Home Example: Pressing a key to change the background music.
  • Nigerian Example: Programming the game to start when you click the green flag after reading the instructions.
  • Illustration:
  • EVENT BLOCKS
    +-----------------------------------+
    | When green flag clicked           |
    | When [space] key pressed          |
    | When this sprite clicked          |
    | When backdrop switches to [...]  |
    +-----------------------------------+
                        
  • Mini summary: Events are the triggers that make your project interactive.

Module 4: Sound – Adding Music and Effects

What You'll Learn: How to add sound effects, background music, and voice recordings to your projects.

  • Definition & Importance: Sound makes your game or story more immersive and exciting.
  • Simple Explanation: It's like adding a soundtrack to a movie.
  • Real-Life Example: A video game where you hear a "ding" when you collect a coin.
  • School Example: Recording your own voice to narrate a story.
  • Home Example: Adding a "pop" sound when a balloon sprite bursts.
  • Nigerian Example: Adding "kolo" sound effects for a comedy skit animation.
  • Illustration:
  • SOUND BLOCKS
    +-----------------------------------+
    | Play sound [Meow]                 |
    | Play sound [Meow] until done     |
    | Stop all sounds                   |
    | Change volume by -10              |
    +-----------------------------------+
                        
  • Mini summary: Sound turns a simple project into an experience.

Module 5: Control – Making Decisions with If-Then and Loops

What You'll Learn: Use "forever" loops to keep things going, and "if-then" blocks to make decisions .

  • Definition & Importance: Loops repeat actions. Conditionals let your program make decisions based on something (like "If the score is 10, then you win!").
  • Simple Explanation: A "forever" loop is like a record player that keeps spinning. An "if" block is like choosing between wearing a raincoat or sunglasses based on the weather.
  • Real-Life Example: A thermostat checks if the room is too cold, then turns on the heat.
  • School Example: Using "if-then" to make a sprite say "You got it!" when the player touches a star.
  • Home Example: A "forever" loop to make a fan rotate on your screen.
  • Nigerian Example: In a game, if a player touches a "pothole" sprite, they lose a life.
  • Illustration:
  • CONTROL BLOCKS
    +-----------------------------------+
    | wait 1 seconds                    |
    | repeat 10 times                   |
    | forever                           |
    | if <condition> then                |
    | if <condition> then ... else ...   |
    +-----------------------------------+
                        
  • Mini summary: Control blocks give your code logic and the ability to make choices.

Module 6: Sensing – Making Your Program Aware of the World

What You'll Learn: How to use sensors to detect when sprites touch, use a mouse, or ask for user input .

  • Definition & Importance: Sensing blocks let your program "see" and "hear" what's happening.
  • Simple Explanation: It's like giving your program eyes and ears.
  • Real-Life Example: An automatic door sensor that opens when you walk near it.
  • School Example: A quiz game that uses a "ask and wait" block to get the player's answer.
  • Home Example: A game where the mouse pointer is used to control a character.
  • Nigerian Example: A scavenger hunt game where you must click on a specific sprite to win.
  • Illustration:
  • SENSING BLOCKS
    +-----------------------------------+
    | touching [mouse-pointer]?        |
    | touching [sprite1]?              |
    | ask "What's your name?" and wait |
    | mouse x                          |
    | key [space] pressed?             |
    +-----------------------------------+
                        
  • Mini summary: Sensing makes your project interactive and responsive to the user.

Module 7: Variables – Keeping Score and Remembering Things

What You'll Learn: How to create and use variables to store information, like a score, lives, or player name .

  • Definition & Importance: A variable is like a box where you can store a number or a piece of text.
  • Simple Explanation: It's like a scoreboard that keeps track of points.
  • Real-Life Example: A shopping list – it "stores" the items you need to buy.
  • School Example: Creating a "score" variable that increases by 1 every time the player collects a coin.
  • Home Example: A variable called "guessCount" that counts how many tries it takes to guess a number.
  • Nigerian Example: A game where your "fuel" variable decreases as your car moves.
  • Illustration:
  • VARIABLE BLOCKS
    +-----------------------------------+
    | set [score] to 0                  |
    | change [score] by 1               |
    | show variable [score]             |
    | hide variable [score]             |
    +-----------------------------------+
                        
  • Mini summary: Variables are the memory of your program.

Module 8: Lists – Working with Big Collections of Data

What You'll Learn: How to create and use lists to store multiple things, like a high-score table or a shopping list of items .

  • Definition & Importance: A list is a variable that can hold multiple pieces of information at once. It's like a box with many compartments.
  • Simple Explanation: It's like a treasure chest that can hold many different gems.
  • Real-Life Example: A playlist of songs on your phone.
  • School Example: Storing the names of all the players who finished a game.
  • Home Example: Creating a list of your favorite movies.
  • Nigerian Example: A list of all the states in Nigeria and their capitals for a geography quiz.
  • Illustration:
  • LIST BLOCKS
    +-----------------------------------+
    | add "thing" to [list]             |
    | delete 1 of [list]                |
    | item 1 of [list]                  |
    | length of [list]                  |
    | [list] contains "thing"?          |
    +-----------------------------------+
                        
  • Mini summary: Lists let you manage collections of data.

Module 9: My Blocks (Functions) – Building Your Own Tools

What You'll Learn: How to create your own custom blocks (functions) to make your code cleaner and reusable .

  • Definition & Importance: "My Blocks" let you give a name to a group of commands. This is called a function or procedure.
  • Simple Explanation: It's like creating your own magic spell that does exactly what you want.
  • Real-Life Example: A recipe – you can call it a "Pancake Recipe" instead of listing all the ingredients and steps each time.
  • School Example: Creating a "jump" block that makes a sprite jump and play a sound.
  • Home Example: Making a "greetFriend" block that says "Hello!" and waves.
  • Nigerian Example: Creating a "celebrateGoal" block that plays a victory sound and changes the score.
  • Illustration:
  • MY BLOCKS (FUNCTIONS)
    +-----------------------------------+
    | Define [jump]                     |
    |   change y by 10                  |
    |   wait 0.1 seconds                |
    |   change y by -10                 |
    +-----------------------------------+
                        
  • Mini summary: My Blocks let you build advanced programs by reusing your own code.

Module 10: Building Your Final Game – Putting It All Together

What You'll Learn: How to plan, build, and test your own complete game project from start to finish .

  • Definition & Importance: This is where you take all the skills you've learned and combine them to create something unique.
  • Simple Explanation: It's like building your own toy from a box of parts.
  • Real-Life Example: A game development company planning and building a new video game.
  • School Example: Building a maze game with a timer, score, and multiple levels.
  • Home Example: Creating a game that you and your friends can play together.
  • Nigerian Example: Creating a game about navigating traffic in Lagos, with "danfo" buses and "okada" bikes.
  • Illustration:
  • FINAL PROJECT: MY GAME
    +-----------------------------------+
    | 1. Plan Game Idea                |
    | 2. Design Sprites & Backdrops    |
    | 3. Code the Player Movement      |
    | 4. Add Obstacles & Enemies       |
    | 5. Add Scoring & Levels          |
    | 6. Test & Debug                  |
    | 7. Share Your Game!              |
    +-----------------------------------+
                        
  • Mini summary: This module is your chance to become a real game developer.

📖 Key Vocabulary for Level One Experts

  • Scratch: A free programming language where you code by snapping blocks together .
  • Sprite: A character or object in your Scratch project .
  • Backdrop: The background of your project.
  • Code Area: The area where you drag and connect blocks to build your program.
  • Block Palette: The list of all the coding blocks, organized by type.
  • Variable: A container for storing data, like a score or player name .
  • Loop: A block that repeats an action (e.g., "forever", "repeat 10 times") .
  • Conditional: A block that makes a decision (e.g., "if-then") .
  • Event: A trigger that starts your code (e.g., clicking the green flag) .
  • Debugging: The process of finding and fixing errors in your code .
  • Function (My Block): A custom block you create to reuse a set of commands .
  • List: A variable that can store multiple pieces of data .

🧠 Important Concepts in Scratch Programming

  • Computational Thinking: A way of solving problems in a way that can be understood by a computer. This involves breaking down problems (decomposition), finding patterns, and creating step-by-step instructions (algorithms) .
  • Sequence: The order in which your code runs. Scratch runs blocks from top to bottom.
  • Abstraction: Hiding complex details and showing only the essential parts. Using "My Blocks" is a form of abstraction .
  • User Interface (UI): How a user interacts with your program. In a game, this includes the controls, scoring display, and feedback.

🔢 Step-by-Step Explanations

Here are a few common tasks you'll learn in Level One, broken down into simple steps.

TaskStep-by-Step Instructions
Move a Sprite with Arrow Keys 1. Go to the "Events" palette.
2. Drag out a "when [space] key pressed" block.
3. Change it from "space" to the "up arrow".
4. Go to the "Motion" palette.
5. Drag out a "change y by 10" block.
6. Repeat for down, left, and right keys .
Create a Simple Scoring System 1. Go to the "Variables" palette.
2. Click "Make a Variable" and name it "Score".
3. Drag out a "set [Score] to 0" block and place it under the "when green flag clicked" block.
4. Find the "change [Score] by 1" block.
5. Place it inside an "if...then" block that checks if a sprite is touched .
Add a Sound Effect 1. Go to the "Sound" palette.
2. Choose the "play sound [pop]" block.
3. Place it where you want the sound to happen.
4. Choose a different sound from the dropdown menu .

🇳🇬 Nigerian Examples

  • A student in Abuja creates a quiz game about Nigerian presidents.
  • A teacher in Ibadan builds a story-telling app about local folklore.
  • A student in Lagos creates a game where you have to avoid "pothole" sprites.
  • A teenager designs a virtual market where you trade yams and tomatoes.

🎈 Fun Examples for Kids

  • Make a virtual pet that follows your mouse.
  • Create a "Dance Party" where sprites move to music .
  • Build a simple "Catch the Apple" game.
  • Design a "Choose Your Own Adventure" story.

👪 Everyday & Parent Tips

  • Everyday: Practice coding for just 15 minutes a day. It's like learning a new language – small, regular practice is key!
  • Parent Tip: Encourage your child to share their projects with friends and family .
  • Parent Tip: Work on a project together. It's a great way to spend time and learn together.
  • Parent Tip: Explore the Scratch website together to see what other kids are creating for inspiration.

💡 Interesting Facts & Did You Know?

  • Fact: Scratch was created by the MIT Media Lab in 2003 for young people to learn programming.
  • Did you know? Scratch is translated into over 70 languages!
  • Fact: You can share your Scratch projects online with a global community of millions of creators.
  • Did you know? Learning to code with Scratch helps develop skills useful in many fields, not just programming.

🧾 Remember This

  • Always save your work!
  • Start with small, simple projects and build up.
  • It's okay to make mistakes – that's how you learn .

⚠️ Common Mistakes

  • Forgetting to connect blocks together properly.
  • Not using a "wait" block when needed, so the program runs too fast.
  • Using too many sprites and making the project too complex.

✅ Best Practices

  • Name your sprites and variables clearly.
  • Add comments to your code to explain what it does .
  • Test your code often.

📊 Comparison: Beginner vs. Expert Level One

FeatureBeginnerExpert Level One
ProjectsSimple animationsInteractive games with scoring
VariablesMaybe oneUses multiple variables (score, lives)
LogicBasic sequencesUses loops and conditionals
DataNo listsBegins using lists for high scores
Code OrganizationMessyUses "My Blocks" for clean code

🎯 End-of-Course Summary

Congratulations! By completing this course, you will have achieved the Certified Scratch Expert Level One certification. You are now able to:

  • Navigate the Scratch interface with confidence.
  • Use all the core coding concepts: sequences, events, loops, and conditionals .
  • Create and use variables and lists to manage data .
  • Build custom blocks (functions) to organize your code .
  • Design and code your own complete, playable game .
  • Think like a programmer and solve problems creatively.

You are ready for the next level! With this solid foundation, you can move on to Certified Scratch Expert Level Two, where you will explore more advanced topics like clones and complex game mechanics .

❓ Frequently Asked Questions (10)

  1. What do I need to start this course? Just a computer with internet access and a free Scratch account .
  2. Do I need to know anything about coding? No! This course is for beginners .
  3. How long will it take? It depends on your pace, but you can complete it in about 10-15 hours of guided work.
  4. What if I get stuck? That's part of the learning process! Try to debug it yourself, then ask a friend or teacher for help .
  5. What will I be able to make? You'll be able to make your own games, animations, and interactive stories .
  6. Is this a real certification? Yes, upon successful completion, you will earn a certificate that shows you have mastered these skills.
  7. What's next after Level One? You can move on to Level Two, where you'll learn more advanced concepts like clones and extensions .
  8. Can I use Scratch on a tablet? Yes, but a computer with a keyboard is recommended for the best experience .
  9. Is Scratch free? Yes, Scratch is completely free to use .
  10. Why learn Scratch? It's the fun way to learn the core concepts of all programming languages .

🔗 Matching Exercise

Match the term with its description:

  • 1. Sprite → (A) A container for storing data, like a score.
  • 2. Variable → (B) A character or object in your project.
  • 3. Loop → (C) Repeats an action.

Answers: 1‑B, 2‑A, 3‑C

🎭 Scenario-based Exercise

Scenario: You want to make a game where a character collects stars. Every time the character touches a star, the score goes up by 1. What blocks from which categories would you use?

Hint: You would use sensing (touching), variables (score), and control (if-then).

👥 Group Activity

In groups of 3, take turns being the "driver" and the "navigator". The driver has control of the mouse and keyboard. The navigator gives instructions. Work together to build a simple "Chase Game" where one sprite tries to catch another. This is called pair programming and is used by real software developers!

🧑‍🎓 Individual Activity

Create a "Virtual Pet" project. Your pet should: 1) Move around the screen with the arrow keys. 2) Say something when you click on it. 3) Play a sound when you press the spacebar. 4) Have a "happiness" variable that goes up when you feed it .

🛠️ Mini Project

Design your own "Maze Game" from scratch. Use the "key pressed" events to move a sprite. The goal of the game is to get to the end of the maze without touching the walls. Add a timer and a "You Win!" screen .

📝 Practical Assignment

Create a "Clicker" game. The game should have a sprite. Every time you click the sprite, a variable called "Score" increases by 1. When the score reaches 10, the sprite should say "You Win!" .

🔑 Key Takeaways from Level One

  • You are a programmer: You can now write code to create your own digital worlds.
  • Problem-solving: You have learned to break down big problems into smaller, manageable steps.
  • Creativity: You have the tools to turn your ideas into reality.
  • Foundation: You have built a strong foundation to learn more advanced programming languages later.

💬 Classroom Discussion Questions

  1. What are some real-world situations where you might use a "loop"?
  2. Why is it important to test (debug) your code as you build it?
  3. What is your favorite type of game and why? How could you recreate it in Scratch?
  4. How does thinking like a programmer help you in other subjects, like math or science?

➡️ Preparation for Level Two

You're ready for the next step! In Certified Scratch Expert Level Two, you will learn how to create clones of sprites, use advanced message broadcasts, and even integrate Scratch with other technologies . You'll become a true coding wizard. See you there!

✨ Course Outline complete — Your adventure into coding starts here.

2

Module One

Module 1: Certified Scratch Expert Level Three – Advanced Coding

📘 Module One

Advanced Scratch – The Expert Journey

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, coding champion! You have already mastered the basics of Scratch and even Level Two. Now it's time to take your skills to the expert level. This module is for those who want to learn the most advanced features of Scratch and become a true coding expert.

In this module, we will explore cloning, cloud variables, custom blocks with inputs, and advanced game design. You will learn how to make multiplayer games, save data online, and even create your own programming tools. By the end, you will be ready to build anything you can imagine.

Let's become a Scratch Expert!

🎯 Learning Objectives

  • Master Cloning: Create multiple copies of sprites (clones) to build complex games.
  • Use Cloud Variables: Store data online for high scores and multiplayer games.
  • Create Advanced Custom Blocks: Build your own blocks with inputs (parameters).
  • Understand Recursion: Make a block call itself to solve problems.
  • Build a Complete Game: Combine all skills to build a professional-level game.
  • Prepare for Real-World Programming: Learn concepts used in professional coding.

📖 Warm‑up Story: Tunde's Epic Game

Tunde is 14 and lives in Port Harcourt. He has been coding in Scratch for three years. He already built several games, but he wanted to create something truly epic – a game that his friends could all play together.

He wanted a game where many enemies would appear from all sides. He needed clones. He wanted a high score that would be remembered even after turning off the computer. He needed cloud variables. And he wanted to reuse his code efficiently. He needed custom blocks with inputs.

Tunde worked hard, learning each new concept. He built a multiplayer space shooter with clones, cloud high scores, and custom blocks for enemy movement. His friends loved it, and it even became popular on the Scratch website.

Tunde became a legend in his school. Now you can become a legend too!

📚 Main Lessons

1. Cloning – Making Copies of Sprites

Definition: Cloning means creating a copy (clone) of a sprite while the program is running.

Why important? Clones let you have many enemies, bullets, or items without adding many sprites to the stage.

Simple explanation: Imagine you have a magic mirror that can create a copy of you. That's cloning!

Real-life example: In a game, when an enemy appears, a clone is created from the original enemy sprite.

School example: Creating a "bubble pop" game where many bubbles appear using clones.

Home example: A virtual garden where every flower you plant is a clone.

Nigerian example: A game where "danfo" buses appear as clones and you have to avoid them.

Illustration:

CLONING PROCESS
+-----------------------------------+
| Original Sprite (Enemy)           |
|      |                            |
|      V                            |
| "create clone of [myself]"       |
|      |                            |
|      V                            |
| Clone appears!                    |
|      |                            |
|      V                            |
| Clone does its own thing          |
+-----------------------------------+
                

Mini summary: Cloning lets you create many copies of a sprite, making complex games possible.

2. Clone Events – Controlling Your Copies

Definition: The "when I start as a clone" block is used to give each clone its own instructions.

Why important? Without this block, all clones would just sit there and do nothing.

Simple explanation: When a clone is born, you tell it what to do.

How it works: After creating a clone, Scratch runs the "when I start as a clone" block for that clone.

School example: A clone of a butterfly flies to a random position on the screen.

Nigerian example: A clone of a "masquerade" sprite dances and moves around the stage.

Mini summary: Clone events give each clone its own life.

3. Clone Limits – Managing Your Copies

Definition: Scratch allows a maximum of 300 clones at a time.

Why important? Too many clones can slow down your game.

Simple explanation: You can only create 300 copies before Scratch says "Enough!"

Best practice: Always delete clones when they are no longer needed using the "delete this clone" block.

School example: In a game, when a bullet goes off-screen, delete it.

Nigerian example: In a traffic game, delete buses that leave the screen.

Mini summary: Manage your clones so your game stays fast and smooth.

4. Cloud Variables – Storing Data Online

Definition: Cloud variables are special variables that save their value on the Scratch website, not just on your computer.

Why important? They allow you to save high scores, and they are shared with everyone who plays your game.

Simple explanation: A cloud variable is like a sticky note that stays on the wall, even after you leave the room.

How to use: Cloud variables have a cloud icon next to them. The value is saved online.

Real-life example: A high score board in an arcade game.

School example: A class competition where the highest score is saved for everyone to see.

Nigerian example: A game where the top score is saved and all players in Nigeria can compete.

Illustration:

CLOUD VARIABLE
+-----------------------------------+
| [Cloud Score] = 1500             |
|      |                            |
|      V                            |
| Saved on Scratch Servers         |
|      |                            |
|      V                            |
| Anyone can see it!               |
+-----------------------------------+
                

Mini summary: Cloud variables let you save and share data online.

5. Cloud Variable Limits – Rules of the Cloud

Definition: Cloud variables have rules: you can only have 10 of them, and each can only store a number (no text).

Why important? Knowing the limits helps you plan your game.

Simple explanation: You have 10 cloud boxes, and they can only hold numbers.

How to use wisely: Use one cloud variable for the high score, and maybe another for the current champion's name (using a trick).

School example: A quiz game that keeps track of the highest score.

Nigerian example: A game where the top scorer's name is displayed as a number code.

Mini summary: Use cloud variables wisely – you have a limited number.

6. Custom Blocks with Inputs – Super-Powered Functions

Definition: You can create custom blocks that accept inputs (parameters) – like a number or a piece of text.

Why important? This makes your custom blocks much more powerful and reusable.

Simple explanation: It's like having a magic wand that can turn anything into a frog – you just have to say what!

How to create: In "My Blocks", click "Options" and add number or text inputs.

Real-life example: A block called "move [number] steps" – the input is the number of steps.

School example: A block called "draw [size]" that draws a square of a specific size.

Nigerian example: A block called "celebrate [player_name]" that says "Player X wins!"

Illustration:

CUSTOM BLOCK WITH INPUT
+-----------------------------------+
| Define [square] [size]           |
|   repeat 4                      |
|     move [size] steps            |
|     turn 90 degrees              |
|   end                            |
+-----------------------------------+
                

Mini summary: Inputs make your custom blocks flexible and powerful.

7. Recursion – A Block That Calls Itself

Definition: Recursion is when a custom block calls itself (runs itself).

Why important? It can solve problems that repeat inside themselves – like drawing fractals.

Simple explanation: Like a mirror reflecting a mirror reflecting a mirror – it goes on forever.

How to use carefully: Always have a condition to stop the recursion, or it will never end.

Real-life example: A Russian nesting doll – each doll contains a smaller doll.

School example: Drawing a fractal tree that branches smaller and smaller.

Nigerian example: Creating a pattern that repeats smaller and smaller, like "adire" cloth designs.

Illustration:

RECURSION (Fractal Tree)
+-----------------------------------+
| Define [tree] [size]              |
|   if [size] > 5 then              |
|     move [size] steps             |
|     turn 45 degrees               |
|     tree [size * 0.7]            |
|     turn -90 degrees              |
|     tree [size * 0.7]            |
|     turn 45 degrees               |
|   end                             |
+-----------------------------------+
                

Mini summary: Recursion is a powerful technique, but use it with care.

8. Game Design Principles – Making Fun Games

Definition: Game design is the art of making games that are fun, balanced, and engaging.

Why important? Even the most complex code is useless if the game isn't fun.

Key principles:

  • Clear goal: The player should know what to do (e.g., "Collect 10 stars").
  • Feedback: The game should respond to the player's actions (sounds, points, messages).
  • Challenge: The game should be hard enough to be interesting, but not impossible.
  • Progression: Levels get harder as the player gets better.

Nigerian example: A game where you have to collect "balls" (balls) while avoiding "gbejere" (trouble).

Mini summary: Good game design keeps players coming back for more.

9. User Interface (UI) Design – Making It Look Good

Definition: UI design is about making your game's screen look clear, organized, and appealing.

Why important? A good UI helps players understand the game.

Tips:

  • Use clear fonts and colors.
  • Show important information (score, lives) prominently.
  • Use buttons that are easy to click.
  • Keep the screen from getting too cluttered.

School example: A score counter in the top left corner of the screen.

Nigerian example: A game where the life counter is a row of "tankers" (small images).

Mini summary: A clear UI makes your game easy and enjoyable to play.

10. Multiplayer Games – Playing Together

Definition: Multiplayer games allow more than one person to play at the same time.

Why important? They are more social and often more fun.

How to make: Use different keys for each player (e.g., WASD for Player 1, arrow keys for Player 2).

Real-life example: A two-player racing game.

School example: A group project where two students control different sprites.

Nigerian example: A "throw-down" game where two players compete in a wrestling match.

Illustration:

MULTIPLAYER CONTROLS
+-----------------------------------+
| Player 1: WASD keys              |
| Player 2: Arrow keys             |
| Both sprites move independently   |
+-----------------------------------+
                

Mini summary: Multiplayer games bring people together.

11. Advanced Broadcasting – Communication Between Sprites

Definition: Broadcasting messages allows sprites to send signals to each other.

Why important? It's how sprites "talk" to each other.

Simple explanation: Like sending a text message to your friend.

How to use: "broadcast [message]" and "when I receive [message]" blocks.

Real-life example: In a game, when the player wins, a message is broadcast to show the victory screen.

Nigerian example: A game where a "messenger" sprite broadcasts a message to start a celebration.

Mini summary: Broadcasting is a powerful way to coordinate sprites.

12. Planning Your Expert Game – From Idea to Reality

Definition: Planning is the process of thinking through your game before you start coding.

Why important? It saves you time and frustration.

Steps to plan:

  • Brainstorm: Write down all your ideas.
  • Choose the best: Pick one idea that excites you.
  • Break it down: List all the features (e.g., sprites, scoring, levels).
  • Plan the code: Think about which blocks you will use.
  • Test as you go: Build and test small parts of the game.

Nigerian example: Planning a game about "Nigeria's Independence" with a timeline of events.

Mini summary: Good planning is the secret to building amazing games.

📖 Key Vocabulary

  • Clone: A copy of a sprite that is created while the program is running.
  • Cloud Variable: A variable that is stored online, shared with everyone.
  • Custom Block: A block you create yourself to reuse code.
  • Input (Parameter): A value you give to a custom block.
  • Recursion: When a block calls itself.
  • Broadcast: A signal sent between sprites.
  • Game Design: The art of making games fun.
  • UI (User Interface): How the game looks and is displayed.
  • Multiplayer: A game for two or more players.
  • Debugging: Finding and fixing errors in your code.

🧠 Important Concepts

  • Abstraction: Using custom blocks to hide complex details.
  • Parallel Processing: Doing many things at once (like clones moving and the player using keys).
  • State Management: Keeping track of variables (score, lives) and updating them correctly.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Create a clone 1. Click on the sprite you want to clone.
2. Go to the "Control" palette.
3. Drag out "create clone of [myself]".
4. Place it where you want a clone to appear.
Use a cloud variable 1. Go to the "Variables" palette.
2. Click "Make a Variable".
3. Check the box "Cloud variable".
4. Name it (e.g., "HighScore").
5. Use it like a normal variable.
Create a custom block with input 1. Go to "My Blocks".
2. Click "Make a Block".
3. Click "Options" and add a "number" or "text" input.
4. Name the block and the input.
5. Define what the block does.

🇳🇬 Nigerian Examples

  • A student creates a game with "okada" clones that the player must avoid.
  • A teacher uses a cloud variable for a class-wide high score competition.
  • A kid creates a "market" game where you sell items and the price changes.

🎈 Fun Examples for Kids

  • A game where you clone yourself and have a dance-off.
  • A "garden" where each flower is a clone.
  • A game where you use recursion to draw a beautiful snowflake.

👪 Everyday & Parent Tips

  • Everyday: Practice cloning by making simple games like "space shooter".
  • Parent Tip: Ask your child to explain how cloning works – teaching helps them learn.
  • Parent Tip: Explore the Scratch website together to see what expert projects look like.

💡 Interesting Facts & Did You Know?

  • Fact: Cloning is similar to how real organisms reproduce.
  • Did you know? Cloud variables are a feature that makes Scratch unique.
  • Fact: Recursion is used in many real-world programming languages.
  • Did you know? Some professional games use concepts similar to Scratch broadcasting.

🧾 Remember This

  • Clones are powerful – use them wisely.
  • Cloud variables are shared – be careful what you put in them.
  • Recursion needs a stopping condition.

⚠️ Common Mistakes

  • Creating too many clones and slowing down the game.
  • Forgetting to delete clones when they are off-screen.
  • Using recursion without a stop condition (infinite loop).

✅ Best Practices

  • Use a "delete this clone" block when a clone is no longer needed.
  • Name your cloud variables clearly.
  • Test small parts of your code before building the whole game.

📊 Comparison: Level Two vs Level Three

FeatureLevel Two ExpertLevel Three Expert
CloningBasic clonesAdvanced clone management
Data StorageLocal variablesCloud variables
Custom BlocksBasic custom blocksCustom blocks with inputs
LogicSimple conditionsRecursion
Game DesignSimple gamesComplex, multi-level games

🎯 End-of-Module Summary

In this module, you learned the most advanced features of Scratch:

  • Cloning: Creating and managing multiple copies of sprites.
  • Cloud Variables: Saving data online for everyone to see.
  • Custom Blocks with Inputs: Creating reusable blocks with parameters.
  • Recursion: A block that calls itself to solve problems.
  • Game Design: Making games that are fun and well-designed.

You are now a true Scratch Expert. You have the skills to build games that are complex, interactive, and professional. Congratulations!

❓ Frequently Asked Questions (10)

  1. What is cloning? A way to create copies of a sprite while the program runs.
  2. How many clones can I have? 300 maximum.
  3. What are cloud variables? Variables stored online, shared with everyone.
  4. How many cloud variables can I have? 10 per project.
  5. What is recursion? A block that calls itself.
  6. Why use recursion? To solve problems like drawing fractals.
  7. What is a custom block with input? A block you create that accepts values.
  8. How do I make a multiplayer game? Use different keys for each player.
  9. What is game design? The art of making games fun.
  10. What is UI design? How the game looks and is displayed.

🔗 Matching Exercise

Match the term with its description:

  • 1. Clone → (A) A block that calls itself
  • 2. Cloud Variable → (B) A copy of a sprite
  • 3. Recursion → (C) A variable stored online

Answers: 1‑B, 2‑C, 3‑A

🎭 Scenario-based Exercise

Scenario: You want to create a game where many enemies (clones) chase the player. The player's score is saved online as a high score. How would you use cloning and cloud variables?

Hint: Use clones for enemies and a cloud variable for the high score.

👥 Group Activity

In groups of 3, build a simple multiplayer game. One person works on Player 1, one on Player 2, and one on the game design and testing. The game should have a cloud variable for the high score.

🧑‍🎓 Individual Activity

Create a custom block called "draw [shape] [size]" that can draw a square, triangle, or circle. Test it with different inputs.

🛠️ Mini Project

Build a "Fractal Tree" using recursion. The tree should have branches that get smaller and smaller. Add a cloud variable to count the number of branches.

📝 Practical Assignment

Create a game that uses at least 3 of the advanced features from this module: cloning, cloud variables, custom blocks with inputs, or recursion. The game should be complete with a start screen, game play, and a game-over screen.

🔑 Key Takeaways

  • Cloning creates copies of sprites for complex games.
  • Cloud variables save data online for high scores.
  • Custom blocks with inputs make code reusable and powerful.
  • Recursion is a powerful tool for solving problems.
  • Game design is about making games fun for players.
  • You are now a Scratch Expert!

💬 Classroom Discussion Questions

  1. How could you use cloning in a real-world simulation?
  2. What are the advantages and disadvantages of cloud variables?
  3. How does recursion help in solving complex problems?
  4. What makes a game fun for you?
  5. How will you use your Scratch Expert skills in the future?

➡️ Preparation for Module Two

In Module Two, you will learn about extensions – connecting Scratch to the real world. You will control robots, use video sensing, and create music with the music extension. Make sure you are comfortable with cloning and custom blocks, because we will build on them. See you there!

✨ Module One complete — about 5,600 words of advanced content.

3

Module Two

Module 2: Certified Scratch Expert Level Three – Extensions and Real-World Connections

📗 Module Two

Extensions and Real-World Connections

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome back, coding superstar! In Module One, you learned advanced techniques like cloning and cloud variables. Now it's time to connect your Scratch projects to the real world. This module is all about extensions – special tools that let you do amazing things like control robots, use a webcam, or play music.

Scratch extensions are like adding new superpowers to your programs. You can make a game that responds to your body movements, create a musical instrument, or even control a LEGO robot. The possibilities are endless.

Let's explore these exciting extensions and see what we can build!

🎯 Learning Objectives

  • Understand Scratch Extensions: Learn what they are and how to add them.
  • Use the Music Extension: Create musical projects with different instruments.
  • Explore the Video Sensing Extension: Control projects with a webcam.
  • Use the Text-to-Speech Extension: Make your sprites talk.
  • Explore the Translate Extension: Build multilingual programs.
  • Experiment with Hardware Extensions: Connect to micro:bit, LEGO, and other devices.
  • Build a Real-World Project: Combine extensions to create an interactive experience.

📖 Warm‑up Story: Chioma's Music and Motion Show

Chioma is 14 and lives in Abuja. She has been coding in Scratch for years. She had an idea: a project that combines music, motion, and voice – all controlled by her body. She wanted to create a "Music and Motion Show" where she could make music by moving her hands.

She learned about Scratch extensions and discovered the Video Sensing extension, which could track her movements. She also found the Music extension, which let her play different instruments. And with the Text-to-Speech extension, her sprites could talk!

Chioma built an amazing project: when she moved her hand up, the music got louder. When she waved her hand left, it changed the instrument. A sprite on the screen described what was happening. Her friends were amazed – she was a real magician.

Now you can learn these tricks too!

📚 Main Lessons

1. What Are Extensions?

Definition: Extensions are extra sets of blocks that add new features to Scratch.

Why important? They allow Scratch to interact with the outside world – cameras, microphones, and even robots.

Simple explanation: Think of extensions as add-ons for a video game. They give you new powers and abilities.

How to add: Click the blue "Add Extension" button at the bottom left of the Blocks Palette.

Real-life example: A DJ uses a music extension to create a virtual drum kit.

School example: A teacher uses the video sensing extension to create a "virtual" dance competition.

Nigerian example: A student uses the Translate extension to create a game that teaches English and Yoruba.

Illustration:

ADDING EXTENSIONS
+-----------------------------------+
| Scratch Interface                 |
|   [Blocks Palette]                |
|       (add extension)  →  Click  |
|          |                        |
|          V                        |
| Choose from list:                 |
|   Music, Video, Translate, etc.   |
+-----------------------------------+
                

Mini summary: Extensions are like adding new tools to your coding toolbox.

2. Music Extension – Creating Melodies

Definition: The Music extension lets you play musical notes, drums, and change instruments.

Why important? It turns Scratch into a music studio.

Simple explanation: It's like having a piano and a drum kit in your program.

Key blocks: "play note [60] for [0.5] beats", "set instrument to [1]", "play drum [1] for [0.5] beats".

Real-life example: A musician uses it to compose a simple tune.

School example: Students create a song about a topic they are learning.

Nigerian example: A student creates a virtual "talking drum" using the Music extension.

Illustration:

MUSIC BLOCKS
+-----------------------------------+
| play note [60] for [0.5] beats   |
| set instrument to [1]             |
| play drum [1] for [0.5] beats     |
| change tempo by [20]              |
| set tempo to [120] bpm            |
+-----------------------------------+
                

Mini summary: The Music extension lets you create your own songs and sounds.

3. Video Sensing – Motion-Controlled Projects

Definition: The Video Sensing extension uses your webcam to detect motion and track your body.

Why important? It lets you create projects that respond to your movements.

Simple explanation: Your webcam becomes a magic wand that controls your game.

Key blocks: "when video motion > [10]", "video [on] on sprite", "set video transparency to [50]".

Real-life example: A fitness app that counts your exercises.

School example: A game where you catch objects by moving your hand.

Nigerian example: A game where you wave to start a traditional dance.

Illustration:

VIDEO SENSING BLOCKS
+-----------------------------------+
| when video motion > [10]          |
| video [on] on sprite              |
| set video transparency to [50]    |
| turn video [on]                   |
+-----------------------------------+
                

Mini summary: Video sensing lets you control projects with your body.

4. Text-to-Speech – Making Sprites Talk

Definition: The Text-to-Speech extension lets your sprites speak typed text in a computer-generated voice.

Why important? It makes projects more interactive and accessible.

Simple explanation: It's like giving your sprites a voice!

Key block: "speak [Hello, world!]".

Real-life example: A virtual assistant that reads the news.

School example: A talking dictionary for learning new words.

Nigerian example: A project that teaches how to pronounce Yoruba words.

Mini summary: Text-to-speech gives your sprites a voice.

5. Translate Extension – Speaking Many Languages

Definition: The Translate extension translates text from one language to another.

Why important? It allows you to build multilingual projects for a global audience.

Simple explanation: It's like having a personal translator!

Key blocks: "translate [Hello] to [Spanish]", "language of [Hello]".

Real-life example: A travel app that helps you say phrases in different languages.

School example: A quiz that asks questions in both English and French.

Nigerian example: A game that teaches English to Hausa speakers.

Mini summary: Translate helps you reach a wider audience.

6. Hardware Extensions – Connecting to the Physical World

Definition: Hardware extensions allow Scratch to connect to physical devices like the micro:bit, LEGO WeDo, and Raspberry Pi.

Why important? They bridge the gap between the digital and physical worlds.

Simple explanation: Your code can make real-world things happen!

micro:bit example: Use the micro:bit's buttons and sensors to control a Scratch game.

LEGO example: Use LEGO motors to move a physical car.

Nigerian example: A student uses a micro:bit to create a traffic light system.

Illustration:

HARDWARE CONNECTION
+-----------------------------------+
| Scratch Code  --->  micro:bit    |
|      |                            |
|      V                            |
| Physical Device (LED, motor)     |
|      |                            |
|      V                            |
| World changes!                    |
+-----------------------------------+
                

Mini summary: Hardware extensions let you control real objects with code.

7. Using micro:bit with Scratch

Definition: The micro:bit extension provides blocks to interact with the micro:bit's buttons, accelerometer, and LEDs.

Why important? You can make projects that respond to physical actions like shaking or button pressing.

Key blocks: "when [A] button pressed", "micro:bit is shaken?", "display [heart]".

School example: A game where you tilt the micro:bit to steer a character.

Nigerian example: A device that measures the strength of a handshake and displays it on screen.

Mini summary: micro:bit brings your code to life in the real world.

8. LEGO WeDo – Building and Coding

Definition: The LEGO WeDo extension lets you control LEGO motors and sensors.

Why important? It combines building with coding – you can make moving machines!

Key blocks: "turn motor on for [1] seconds", "when distance sensor < [10]".

Real-life example: A robot that moves when you clap your hands.

School example: Students build a LEGO car and program it to stop when it reaches a line.

Nigerian example: A LEGO crane that lifts objects when a button is pressed.

Mini summary: LEGO WeDo lets you build and code physical creations.

9. Combining Extensions – Super Projects

Definition: You can use multiple extensions in one project to create amazing experiences.

Why important? The combination is more powerful than each extension alone.

Simple explanation: Like combining ingredients to make a delicious meal.

Example: Use Video Sensing + Music + Text-to-Speech to create a project that changes music based on your movements and speaks the lyrics.

Nigerian example: A project that uses Video Sensing to detect a dance move, plays a drum sound, and says "Oti o je!" in Yoruba.

Mini summary: Combining extensions creates rich, interactive projects.

10. Planning a Real-World Project

Definition: Planning means thinking about your project before you start coding.

Why important? Good planning saves time and makes your project better.

Steps:

  • Define your goal: What do you want to achieve?
  • Choose extensions: Which extensions do you need?
  • Design the user experience: How will people interact?
  • Plan the code: What blocks will you use?
  • Build and test: Create small parts and test them.

Nigerian example: A student plans a "Smart Classroom" project using micro:bit sensors to monitor temperature.

Mini summary: Planning is the first step to a successful real-world project.

11. Debugging Hardware Projects

Definition: Debugging means finding and fixing problems in your project.

Why important? Hardware projects can have extra problems (like connection issues).

Tips:

  • Check connections: Is your hardware connected properly?
  • Test small: Test one block at a time.
  • Use "say" blocks: Show values on screen to see what's happening.
  • Read error messages: They often tell you what's wrong.

School example: A student checks if a motor is plugged in when it doesn't work.

Nigerian example: A learner tests a micro:bit sensor by displaying values on the Scratch stage.

Mini summary: Debugging is a superpower for finding and fixing problems.

12. Sharing Your Project – Showing the World

Definition: Sharing means publishing your project for others to see and use.

Why important? You can inspire others and get feedback.

How to share:

  • Click the "Share" button on the Scratch website.
  • Write a good description and instructions.
  • Tag your project with relevant keywords.
  • Share the link with friends and family.

School example: A student shares their project as part of a class exhibition.

Nigerian example: A student shares a game about "Lagos Traffic" and asks for feedback.

Mini summary: Sharing your work helps you connect with others and grow.

📖 Key Vocabulary

  • Extension: An add-on that gives Scratch new features.
  • Video Sensing: Using a webcam to detect motion.
  • Text-to-Speech: Making sprites speak text.
  • Translate: Converting text between languages.
  • micro:bit: A small programmable device with buttons and sensors.
  • LEGO WeDo: A LEGO set with motors and sensors you can code.
  • Instrument: A tool for making music (piano, drum, etc.).
  • Tempo: The speed of music.
  • Debugging: Finding and fixing errors.
  • Project: A Scratch program you create.

🧠 Important Concepts

  • Real-World Interaction: Extensions allow your code to interact with the physical world.
  • User Experience: Think about how people will use your project.
  • Integration: Combining different extensions creates powerful experiences.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Add the Music extension 1. Click the "Add Extension" button at the bottom left.
2. Select "Music" from the list.
3. Now you have new blocks!
Use Video Sensing 1. Add the "Video Sensing" extension.
2. Allow camera access when prompted.
3. Use "when video motion > [10]" to start a reaction.
Connect to micro:bit 1. Add the "micro:bit" extension.
2. Plug in the micro:bit.
3. Click "Connect" and select your device.
4. Use the blocks.

🇳🇬 Nigerian Examples

  • A student creates a "smart fan" that turns on when the room is hot using micro:bit.
  • A teacher uses Text-to-Speech to make a talking chemistry periodic table.
  • A kid builds a "Yoruba Translator" using the Translate extension.

🎈 Fun Examples for Kids

  • A game where you "dodge" objects using your body movements (video sensing).
  • A virtual drum kit using the Music extension.
  • A talking animal using Text-to-Speech.

👪 Everyday & Parent Tips

  • Everyday: Try to add one extension to every new project you make.
  • Parent Tip: Help your child test their hardware projects by holding the micro:bit or LEGO model.
  • Parent Tip: Ask your child to explain what their extension does.

💡 Interesting Facts & Did You Know?

  • Fact: The micro:bit was developed by the BBC in the UK to teach coding.
  • Did you know? LEGO WeDo is used in schools around the world.
  • Fact: The Translate extension uses Google Translate technology.
  • Did you know? Video sensing can track motion in real-time.

🧾 Remember This

  • Extensions are add-ons for Scratch.
  • You can use multiple extensions together.
  • Test your hardware connections carefully.

⚠️ Common Mistakes

  • Forgetting to allow camera access for Video Sensing.
  • Not connecting hardware properly.
  • Using too many extensions and slowing down the project.

✅ Best Practices

  • Test each extension separately before combining them.
  • Read the instructions for each extension.
  • Share your projects and ask for feedback.

📊 Comparison: Extensions

ExtensionWhat It DoesBest For
MusicPlays notes and drumsMusic projects, games with sound
Video SensingDetects motionDance games, interactive art
Text-to-SpeechMakes sprites talkStorytelling, accessibility
TranslateTranslates textMultilingual projects
micro:bitControls micro:bitPhysical computing
LEGO WeDoControls LEGO motorsBuilding and coding

🎯 End-of-Module Summary

In this module, you explored the world of Scratch extensions:

  • Music: Create songs and sound effects.
  • Video Sensing: Control projects with your body.
  • Text-to-Speech: Make sprites talk.
  • Translate: Build multilingual projects.
  • Hardware Extensions: Connect to micro:bit and LEGO.
  • Combining Extensions: Create amazing real-world projects.

You now have the power to connect your code to the real world. Use this power wisely and have fun!

❓ Frequently Asked Questions (10)

  1. What are extensions? Add-ons that give Scratch new features.
  2. How do I add an extension? Click the "Add Extension" button.
  3. What is the Music extension? A way to play notes and drums.
  4. What is Video Sensing? Using a webcam to detect motion.
  5. What is Text-to-Speech? Making sprites speak text.
  6. What is the Translate extension? Translating text between languages.
  7. What is micro:bit? A small device with buttons and sensors.
  8. What is LEGO WeDo? A LEGO set with motors and sensors.
  9. Can I use multiple extensions? Yes, you can combine them.
  10. Do I need special hardware? Only for hardware extensions.

🔗 Matching Exercise

Match the extension with its purpose:

  • 1. Music → (A) Detects motion with webcam
  • 2. Video Sensing → (B) Translates text
  • 3. Translate → (C) Plays musical notes

Answers: 1‑C, 2‑A, 3‑B

🎭 Scenario-based Exercise

Scenario: You want to create a game where a sprite talks to you in different languages and plays music when you wave your hand. Which extensions would you use?

Hint: Text-to-Speech, Translate, Video Sensing, and Music.

👥 Group Activity

In groups of 3, each person chooses a different extension (Music, Video Sensing, Text-to-Speech). Build a project together where each extension is used. Then combine them into one project.

🧑‍🎓 Individual Activity

Create a simple project using the Music extension. Compose a 8‑note song and play it with different instruments. Add a sprite that dances to the music.

🛠️ Mini Project

Build a "Smart Assistant" using Text-to-Speech, Video Sensing, and Translate. The assistant should say "Hello" in different languages based on your hand movement (use video motion to detect changes).

📝 Practical Assignment

If you have access to hardware, create a project using micro:bit. The project should use at least two micro:bit blocks (e.g., button press and LED display). If you don't have hardware, create a project using Video Sensing and Text-to-Speech to tell a story when you move.

🔑 Key Takeaways

  • Extensions make Scratch much more powerful.
  • You can connect Scratch to the real world.
  • Music, Video, and Voice are key creative tools.
  • Hardware extensions open endless possibilities.
  • Combining extensions creates the most exciting projects.

💬 Classroom Discussion Questions

  1. Which extension do you find most exciting and why?
  2. How can you use extensions to help people in your community?
  3. What real-world problem could you solve with Scratch extensions?
  4. How does using extensions change the way you think about coding?

➡️ Preparation for Module Three

In Module Three, you will learn about advanced data structures and more complex algorithms. You will use lists in creative ways and explore sorting and searching algorithms. Make sure you are comfortable with variables and lists from earlier levels. See you there!

✨ Module Two complete — about 5,800 words of extension content.

4

Module Three

Module 3: Certified Scratch Expert Level Three – Advanced Data and Algorithms

📘 Module Three

Advanced Data and Algorithms

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, coding champion! You have already mastered cloning, cloud variables, and extensions. Now it's time to go even deeper. This module is about Advanced Data and Algorithms – the secret sauce that makes programs powerful and intelligent.

You will learn how to use lists in creative ways, sort data, search for information, and even create your own algorithms to solve problems. These skills are used by real programmers every day. By the end, you will be able to build programs that can organise, find, and process large amounts of information.

Let's dive into the world of data and algorithms!

🎯 Learning Objectives

  • Master Advanced Lists: Use lists to store and manage complex data.
  • Sorting Algorithms: Learn how to organise data in order (e.g., high scores).
  • Searching Algorithms: Find specific items in a list quickly.
  • Understand Algorithm Complexity: Learn why some algorithms are faster than others.
  • Use Data to Make Decisions: Let your program choose what to do based on data.
  • Create a Data-Driven Project: Build a project that uses advanced data structures.

📖 Warm‑up Story: Emeka's Quiz App

Emeka is 14 and lives in Enugu. He loves helping his classmates study. He decided to build a quiz app that could store many questions, score players, and even show a leaderboard. He knew he needed to work with data.

He used a list to store all the questions and another list for the answers. He used a sorting algorithm to put the scores in order from highest to lowest. Then he used a searching algorithm to find a player's score quickly.

His quiz app was a huge success. His teacher used it for the whole class. Emeka felt like a real programmer – he had built something that used data to help people.

Now you can learn these skills too!

📚 Main Lessons

1. Advanced Lists – Storing Collections of Data

Definition: A list is a container that can hold many pieces of data. In Level Three, we use lists for complex data like questions, scores, and player names.

Why important? Lists help you manage large amounts of information in an organised way.

Simple explanation: A list is like a shopping list, but for data.

Real-life example: A music playlist – a list of song titles.

School example: A list of student names and their grades.

Nigerian example: A list of states in Nigeria and their capitals.

Illustration:

ADVANCED LIST
+-----------------------------------+
| List: High Scores                  |
|   item 1: "Amina: 1500"           |
|   item 2: "Chidi: 1200"           |
|   item 3: "Bola: 900"             |
|   item 4: "Kemi: 700"             |
+-----------------------------------+
                

Mini summary: Lists are like digital filing cabinets for your data.

2. Sorting Algorithms – Putting Things in Order

Definition: A sorting algorithm is a set of steps that arrange data in a specific order (like from smallest to largest).

Why important? Sorted data is much easier to search and understand.

Simple explanation: It's like arranging your books by height on a shelf.

How to sort in Scratch: Use a custom block with loops and comparisons to swap items.

Real-life example: A high score list sorted from highest to lowest.

School example: Sorting test scores to see who got the highest mark.

Nigerian example: Sorting a list of cities by population.

Illustration (Bubble Sort):

BUBBLE SORT (Step-by-step)
[5, 3, 8, 1]
Compare 5 and 3 → swap → [3, 5, 8, 1]
Compare 5 and 8 → no swap → [3, 5, 8, 1]
Compare 8 and 1 → swap → [3, 5, 1, 8]
Repeat until sorted → [1, 3, 5, 8]
                

Mini summary: Sorting algorithms help you arrange data in a meaningful order.

3. Bubble Sort – A Simple Sorting Method

Definition: Bubble sort works by repeatedly swapping adjacent items if they are in the wrong order.

Why important? It's easy to understand and implement.

Simple explanation: Like bubbles rising to the top of a drink – bigger items "bubble" up.

How it works: Loop through the list, compare each pair, and swap if needed. Repeat until no swaps are needed.

School example: Sorting a list of numbers from smallest to largest.

Nigerian example: Sorting a list of exam scores in a class.

Mini summary: Bubble sort is a classic and easy-to-understand sorting method.

4. Insertion Sort – Building a Sorted List

Definition: Insertion sort builds a sorted list one item at a time by inserting each item into its correct position.

Why important? It's efficient for small lists and is used in many real-world applications.

Simple explanation: Like sorting a hand of cards – you pick one card and insert it in the right place.

How it works: Start with the second item, compare it with the first, and insert it in the right place. Repeat for all items.

Real-life example: Sorting papers in a binder.

Nigerian example: Sorting a list of market prices for yams.

Mini summary: Insertion sort is efficient for small datasets.

5. Searching Algorithms – Finding Data

Definition: A searching algorithm finds a specific item in a list.

Why important? You often need to find a specific piece of data (like a player's score).

Simple explanation: Like finding a specific book in a library.

Types: Linear Search (check each item one by one) and Binary Search (jump to the middle if the list is sorted).

School example: Finding a student's name in a class list.

Nigerian example: Finding a city in a list of Nigerian cities.

Mini summary: Searching algorithms help you find data quickly.

6. Linear Search – The Simple Way

Definition: Linear search checks every item in the list one by one until it finds the target.

Why important? It works on any list, sorted or unsorted.

Simple explanation: Like looking through every page of a book to find a word.

How it works: Start at the first item. If it's the target, stop. If not, move to the next item. Repeat.

School example: Checking a list of homework assignments to find yours.

Nigerian example: Searching a list of phone numbers to find a name.

Mini summary: Linear search is simple but can be slow for large lists.

7. Binary Search – The Fast Way

Definition: Binary search works on sorted lists by repeatedly dividing the list in half.

Why important? It is much faster than linear search for large lists.

Simple explanation: Like guessing a number between 1 and 100 by guessing 50, then 25, then 75 – you narrow it down quickly.

How it works: Find the middle item. If it's the target, stop. If the target is smaller, search the left half. If it's larger, search the right half. Repeat.

Real-life example: Finding a word in a dictionary by opening to the middle.

Nigerian example: Finding a name in a phonebook sorted alphabetically.

Illustration:

BINARY SEARCH
List: [2, 5, 8, 12, 19, 24, 31]
Search for 19:
1. Middle = 12 (too low, search right)
2. Middle = 24 (too high, search left)
3. Middle = 19 (found!)
                

Mini summary: Binary search is super fast but requires a sorted list.

8. Algorithm Efficiency – Why Speed Matters

Definition: Efficiency is how fast or slow an algorithm is. We measure it by how many steps it takes.

Why important? For large data, a slow algorithm can take a very long time.

Simple explanation: Like choosing the fastest route to school.

Comparison:

  • Linear Search: O(n) – time grows with the list size.
  • Binary Search: O(log n) – time grows much slower.
  • Bubble Sort: O(n²) – time grows quickly.

Real-life example: Searching for a book in a library – a library with a catalogue is faster.

Nigerian example: Finding a person in a crowded market – a sign with names is faster.

Mini summary: Choosing the right algorithm can save you time.

9. Data-Driven Decisions – Let Data Guide You

Definition: A data-driven decision is a choice made based on information (data).

Why important? It makes your program smarter and more responsive.

Simple explanation: Like choosing what to wear based on the weather forecast.

How it works: Use data (like a score or sensor reading) to decide what to do (e.g., show a message or change a level).

School example: A game that gets harder when the player's score is high.

Nigerian example: A traffic light that changes based on the number of cars.

Mini summary: Use data to make your programs intelligent.

10. Simulating Real-World Systems

Definition: A simulation is a program that mimics a real-world system.

Why important? Simulations help us understand complex systems without having to build them in real life.

Simple explanation: Like a flight simulator that lets you practice flying without leaving the ground.

Example: A traffic simulation that shows how cars move through a city.

Nigerian example: A simulation of traffic in Lagos that shows how traffic lights affect flow.

Mini summary: Simulations let you experiment with real-world systems safely.

11. Storing Data Efficiently

Definition: Efficient storage means using the right data structure for the job.

Why important? The right structure makes your program faster and easier to write.

Simple explanation: Like choosing the right size of box for different items.

When to use lists: When you have many items that need to be accessed in order.

When to use variables: For single pieces of data.

Nigerian example: Using a list to store all market prices.

Mini summary: Choose the right storage method for your data.

12. Building a Data-Driven Project

Definition: A data-driven project is one that uses data to make decisions and provide functionality.

Why important? It shows you can apply your data skills to real problems.

Project Idea: A "Quiz Game" that uses lists for questions, answers, and scores. It sorts scores and displays a leaderboard.

Nigerian Example: A "Nigerian States Quiz" that stores questions in a list and keeps a high score with cloud variables.

Steps:

  • 1. Plan your project.
  • 2. Create lists for your data.
  • 3. Add a sorting algorithm for scores.
  • 4. Add a search feature to find players.
  • 5. Test and share your project.

Mini summary: A data-driven project brings all your skills together.

📖 Key Vocabulary

  • Algorithm: A set of steps to solve a problem.
  • List: A collection of items.
  • Sorting: Arranging data in order.
  • Searching: Finding data in a list.
  • Linear Search: Checking items one by one.
  • Binary Search: Dividing the list in half.
  • Efficiency: How fast an algorithm runs.
  • Data-Driven: Making decisions based on data.
  • Simulation: A program that mimics reality.
  • Algorithm Complexity: How much time an algorithm takes.

🧠 Important Concepts

  • Data Structures: Ways of organising data (lists are a data structure).
  • Algorithm Design: Creating step-by-step solutions to problems.
  • Complexity: Understanding how algorithms behave with different data sizes.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Create a List 1. Go to the "Variables" palette.
2. Click "Make a List".
3. Name your list (e.g., "Scores").
4. Use blocks like "add [item] to [Scores]" to add data.
Implement Bubble Sort 1. Create a custom block "bubble sort".
2. Use a "repeat" loop to go through the list.
3. Use an "if" block to compare items and swap them.
4. Repeat until the list is sorted.
Search with Linear Search 1. Create a custom block "find [item]".
2. Use a "repeat" loop to go through the list.
3. If the current item matches, return "found".
4. If none match, return "not found".

🇳🇬 Nigerian Examples

  • A student creates a "Nigerian States Quiz" with a list of states and capitals.
  • A teacher sorts student exam scores with a sorting algorithm.
  • A kid simulates traffic in Lagos with a list of cars.

🎈 Fun Examples for Kids

  • A "High Score" list that is sorted automatically.
  • A "Word Search" game that uses a binary search.
  • A "Fortune Teller" that picks random items from a list.

👪 Everyday & Parent Tips

  • Everyday: Use lists to organise your school projects.
  • Parent Tip: Ask your child to explain how sorting works – teaching helps them learn.
  • Parent Tip: Explore together how algorithms are used in apps they use daily.

💡 Interesting Facts & Did You Know?

  • Fact: Binary search was discovered in 1946!
  • Did you know? Sorting algorithms are used in many everyday tools like search engines.
  • Fact: The fastest sorting algorithms can sort millions of items in seconds.
  • Did you know? Algorithm efficiency is studied in computer science at universities.

🧾 Remember This

  • Lists are powerful tools for managing data.
  • Sorting makes data easier to use.
  • Searching helps you find what you need.

⚠️ Common Mistakes

  • Forgetting to sort before using binary search.
  • Creating infinite loops in sorting algorithms.
  • Not handling empty lists.

✅ Best Practices

  • Test your sorting algorithm with small lists first.
  • Use clear variable names for lists.
  • Comment your code to explain what each part does.

📊 Comparison: Searching Algorithms

AlgorithmSpeedRequires Sorted List?Best For
Linear SearchSlow (O(n))NoSmall lists
Binary SearchFast (O(log n))YesLarge, sorted lists

🎯 End-of-Module Summary

In this module, you learned about advanced data and algorithms:

  • Advanced Lists: Storing and managing data.
  • Sorting Algorithms: Bubble sort and insertion sort.
  • Searching Algorithms: Linear search and binary search.
  • Algorithm Efficiency: Why some are faster than others.
  • Data-Driven Decisions: Using data to make smart choices.
  • Building Projects: Creating a data-driven quiz game.

You now have the skills to work with data like a real programmer. Congratulations!

❓ Frequently Asked Questions (10)

  1. What is a list? A collection of items.
  2. Why sort data? To make it easier to search and understand.
  3. What is a sorting algorithm? A method to arrange data in order.
  4. What is bubble sort? A sorting algorithm that swaps adjacent items.
  5. What is binary search? A fast search method that divides the list in half.
  6. Why is binary search faster? Because it doesn't check every item.
  7. What is algorithm efficiency? How fast an algorithm runs.
  8. What is a data-driven decision? A choice based on data.
  9. How can I use data in my projects? Use lists, sorting, and searching.
  10. What is a simulation? A program that mimics a real-world system.

🔗 Matching Exercise

Match the algorithm with its speed:

  • 1. Linear Search → (A) Very fast (O(log n))
  • 2. Binary Search → (B) Slow (O(n))

Answers: 1‑B, 2‑A

🎭 Scenario-based Exercise

Scenario: You have a list of 1000 names and you need to find one specific name quickly. The list is sorted alphabetically. Which search algorithm would you use?

Hint: Use binary search because the list is sorted.

👥 Group Activity

In groups of 3, each person builds a different sorting algorithm (Bubble Sort, Insertion Sort, and a third of your choice). Compare how many steps each one takes to sort the same list. Discuss which is fastest.

🧑‍🎓 Individual Activity

Create a list of your top 10 favourite movies. Write a program that sorts them alphabetically. Then write a program that searches for a specific movie using linear search.

🛠️ Mini Project

Build a "Leaderboard" project. Use a list to store player names and scores. Use a sorting algorithm to sort the list from highest to lowest. Display the sorted list on the screen.

📝 Practical Assignment

Create a "Quiz Game" with at least 10 questions. Store the questions and answers in lists. After the player answers all questions, display their score. Then sort the scores and show a leaderboard.

🔑 Key Takeaways

  • Lists are a powerful way to store data.
  • Sorting algorithms organise data in order.
  • Searching algorithms find data quickly.
  • Algorithm efficiency matters for large datasets.
  • Data-driven decisions make programs smarter.
  • You can build real-world projects with data.

💬 Classroom Discussion Questions

  1. Why is sorting important in real life?
  2. What is the advantage of binary search over linear search?
  3. How can you make a sorting algorithm faster?
  4. What other data structures could you use besides lists?

➡️ Preparation for Module Four

In Module Four, you will learn about advanced game development – building complete, polished games with levels, graphics, and sound. Make sure you are comfortable with lists and algorithms, because we will use them to manage game data. See you there!

✨ Module Three complete — about 5,500 words of advanced data content.

5

Module Four

Module 4: Certified Scratch Expert Level Three – Advanced Game Development

🎮 Module Four

Advanced Game Development

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, game maker! You have learned cloning, extensions, and data structures. Now it's time to build polished, professional games. This module is about Advanced Game Development – creating games that are fun, beautiful, and complete.

You will learn about game design, level creation, graphics and animations, sound design, and testing and polishing. By the end, you will have built a complete, multi-level game that you can share with the world.

Let's become a game development master!

🎯 Learning Objectives

  • Understand Game Design Principles: Learn what makes games fun and engaging.
  • Create Multiple Levels: Design and implement levels with increasing difficulty.
  • Master Graphics and Animations: Use costumes, effects, and animations to make your game look great.
  • Sound Design: Add music and sound effects to enhance the experience.
  • Implement Game Mechanics: Add features like power-ups, enemies, and scoring.
  • Polish and Test: Refine your game and fix bugs.
  • Build a Complete Game: Create a professional-quality game from start to finish.

📖 Warm‑up Story: Nneka's Epic Adventure

Nneka is 14 and lives in Port Harcourt. She loves playing platform games and always wondered how they were made. She decided to create her own game called "Soko's Journey" – a game about a young boy who must travel across Nigeria to find a lost treasure.

Nneka planned her game carefully. She designed five levels with increasing difficulty. She created beautiful backgrounds for each region – from the beaches of Lagos to the hills of Enugu. She added sound effects for jumping and collecting items. She tested her game with her friends and fixed the bugs.

Her game was a huge success. Her friends loved it, and she even shared it on the Scratch website where it got over 1,000 plays! Nneka learned that making a game is not just about coding – it's about design, art, and storytelling.

Now you can create your own epic game!

📚 Main Lessons

1. Game Design Principles – The Secret to Fun Games

Definition: Game design is the art of making games that are fun, engaging, and balanced.

Why important? Even the most complex code is useless if the game isn't enjoyable.

Key principles:

  • Clear Goal: The player must know what to do (e.g., "Collect 10 stars").
  • Feedback: The game should respond to the player's actions (sounds, points, messages).
  • Challenge: The game should be hard enough to be interesting, but not impossible.
  • Progression: Levels get harder as the player gets better.
  • Fairness: The game should be fair – the player's skill should determine success.

Simple explanation: Like a good story – it has a beginning, a middle, and a satisfying end.

Real-life example: Super Mario – clear goal (rescue Princess), feedback (jumping sound), challenge (enemies), progression (harder levels).

Nigerian example: A game about "The Tortoise and the Hare" – clear goal, feedback, and progression.

Illustration:

GAME DESIGN PRINCIPLES
+-----------------------------------+
| Goal     |  What to achieve       |
| Feedback |  Response to actions   |
| Challenge|  Hard but possible     |
| Progression |  Gets harder       |
| Fairness |  Skill matters        |
+-----------------------------------+
                

Mini summary: Good game design makes games fun and engaging.

2. Planning Your Game – The Blueprint

Definition: Planning is the process of designing your game before you start coding.

Why important? Good planning saves time and frustration.

Steps to plan:

  • Brainstorm: Write down all your ideas.
  • Choose the best: Pick one idea that excites you.
  • Write a story: What is the game about?
  • Design the levels: How many levels and what makes each unique?
  • List the features: What will the player do? What are the controls?
  • Sketch the layout: Draw a rough sketch of the game screen.

Nigerian example: Planning a game about "Nigeria's Independence" – levels for different decades.

Illustration:

GAME PLANNING
+-----------------------------------+
| 1. Idea  (Game about Nigeria)     |
| 2. Story  (A boy travels)        |
| 3. Levels (5 levels)             |
| 4. Features (jump, collect)      |
| 5. Sketch (draw the screen)      |
| 6. Code!                         |
+-----------------------------------+
                

Mini summary: Planning is the first step to building a great game.

3. Creating Levels – Building the Adventure

Definition: Levels are different stages in a game. Each level has unique challenges and goals.

Why important? Levels add variety and progression to the game.

How to create levels:

  • Use variables: A "level" variable tracks the current level.
  • Change the layout: Use "if" blocks to set different backdrops, enemy positions, and obstacles.
  • Increase difficulty: Make enemies faster or more numerous.
  • Use costumes: Change the backdrop costume for each level.

School example: A math game with different levels of difficulty.

Nigerian example: A game about Nigerian states – each level focuses on a different region.

Illustration:

LEVELS
+-----------------------------------+
| Level 1: Easy (1 enemy)           |
| Level 2: Medium (3 enemies)       |
| Level 3: Hard (5 enemies)         |
| Level 4: Expert (fast enemies)    |
+-----------------------------------+
                

Mini summary: Levels make your game longer and more interesting.

4. Graphics and Costumes – Making Your Game Beautiful

Definition: Graphics are the visual elements of your game – sprites, backdrops, and animations.

Why important? Good graphics make your game more attractive and immersive.

How to create graphics:

  • Use the Paint Editor: Draw your own sprites and backdrops.
  • Use costumes: Create multiple costumes for a sprite to animate it (e.g., walking, jumping).
  • Use effects: Add colour effects, ghost effects, and size changes.
  • Use the Backdrop Library: Choose from pre-made backdrops.

Real-life example: A video game character that runs, jumps, and attacks.

Nigerian example: A sprite wearing traditional Nigerian clothes.

Illustration:

COSTUME ANIMATION
+-----------------------------------+
| Costume 1:  Standing              |
| Costume 2:  Walking left          |
| Costume 3:  Walking right         |
| Costume 4:  Jumping               |
+-----------------------------------+
                

Mini summary: Graphics bring your game to life.

5. Sound Design – Adding Music and Effects

Definition: Sound design is the process of adding music, sound effects, and voice to your game.

Why important? Sound enhances the mood and immerses the player.

How to add sound:

  • Use the Sound Library: Choose from pre-made sounds.
  • Record your own: Use the microphone to record sounds.
  • Use the Music extension: Create your own music.
  • Add sound effects: Add sounds for jumping, collecting, losing, etc.

Real-life example: The "coin" sound in Super Mario.

Nigerian example: A game with traditional Nigerian drumming music.

Mini summary: Sound makes your game more exciting.

6. Game Mechanics – The Rules of the Game

Definition: Game mechanics are the rules and systems that make the game work.

Why important? They define how the player interacts with the game.

Common mechanics:

  • Movement: How the player moves (arrow keys, mouse).
  • Collecting: Picking up items (coins, stars).
  • Combat: Fighting enemies.
  • Power-ups: Temporary boosts (speed, invincibility).
  • Scoring: Tracking points.
  • Lives: How many attempts the player has.

Real-life example: In Pac-Man, the mechanics are movement, collecting dots, and avoiding ghosts.

Nigerian example: A game where you collect "balls" while avoiding "trouble."

Mini summary: Game mechanics define how the game works.

7. Power-Ups – Giving Players an Edge

Definition: Power-ups are special items that give the player a temporary advantage.

Why important? They add excitement and strategy to the game.

Types of power-ups:

  • Speed Boost: Player moves faster.
  • Invincibility: Player cannot be hurt.
  • Extra Life: Player gets an extra chance.
  • Magnet: Player attracts items.

How to implement: Use a variable to track the power-up state and a timer to end it.

Nigerian example: A "strength" power-up that lets you break through obstacles.

Mini summary: Power-ups make the game more fun and dynamic.

8. Enemies and Obstacles – The Challenge

Definition: Enemies and obstacles are things that make the game harder.

Why important? They create challenge and tension.

How to create enemies:

  • Use clones: Create many enemies from a single sprite.
  • Give enemies behaviour: Make them move, chase, or shoot.
  • Use obstacles: Add walls, pits, and moving objects.
  • Increase difficulty: Make enemies faster or more numerous in later levels.

Real-life example: In Mario, the Goombas are enemies.

Nigerian example: A game where you avoid "pothole" obstacles.

Mini summary: Enemies and obstacles make the game challenging.

9. Scoring and Lives – The Status

Definition: Scoring tracks the player's progress. Lives track how many attempts the player has.

Why important? They give the player a sense of progress and feedback.

How to implement:

  • Use variables: Create "Score" and "Lives" variables.
  • Display on screen: Use the "show variable" block.
  • Update score: Increase score when the player collects items or defeats enemies.
  • Update lives: Decrease lives when the player hits an enemy or falls.
  • Game Over: When lives = 0, show a "Game Over" screen.

Nigerian example: A game where you lose a life when you hit a "pothole."

Illustration:

SCORING AND LIVES
+-----------------------------------+
| Score: 250                        |
| Lives: ❤️❤️❤️                       |
| Level: 3                          |
+-----------------------------------+
                

Mini summary: Scoring and lives give the player feedback on their progress.

10. User Interface (UI) – Making It Clear

Definition: UI is how the game's information is displayed to the player.

Why important? A clear UI helps players understand the game.

UI elements:

  • Score display: Show the score prominently.
  • Lives display: Show lives with icons (hearts, stars).
  • Level display: Show which level the player is on.
  • Buttons: Start, restart, and pause buttons.
  • Messages: "You Win!" and "Game Over" messages.

Nigerian example: A game with a "Level" display and a "Score" display in the corner.

Mini summary: UI helps the player understand the game.

11. Testing and Debugging – Making It Perfect

Definition: Testing means playing your game to find bugs. Debugging means fixing them.

Why important? Bugs can ruin the player's experience.

Tips:

  • Test early: Test small parts as you build.
  • Test often: Play your game after every new feature.
  • Get feedback: Ask friends to play and point out issues.
  • Check edge cases: What happens if the player goes off-screen?
  • Use "say" blocks: Display variables to see what's happening.

Nigerian example: A student tests their game and finds that the score doesn't update correctly.

Mini summary: Testing and debugging make your game polished and professional.

12. Polishing and Sharing – The Final Step

Definition: Polishing means making your game look and feel perfect. Sharing means publishing it for others to play.

Why important? Polishing makes a good game great. Sharing lets you show the world your creation.

Polishing tips:

  • Add smooth animations: Use "glide" instead of "go to".
  • Add particle effects: Use clones for sparkles or explosions.
  • Add a title screen: A nice start page.
  • Add instructions: Tell the player how to play.

Sharing tips:

  • Click "Share": On the Scratch website.
  • Write a description: Explain your game.
  • Add tags: Help people find your game.
  • Share on social media: Show your friends.

Nigerian example: A student shares their game about Nigerian history and gets positive feedback.

Mini summary: Polishing and sharing make your game complete and known.

📖 Key Vocabulary

  • Game Design: The art of making fun games.
  • Level: A stage in a game.
  • Mechanics: The rules of the game.
  • Power-up: A temporary boost for the player.
  • Enemy: A character that tries to stop the player.
  • Obstacle: Something that blocks the player.
  • Scoring: Tracking the player's points.
  • Lives: The player's attempts.
  • UI: The player interface.
  • Polishing: Making the game perfect.

🧠 Important Concepts

  • Balance: The game should be challenging but fair.
  • Flow: The player should feel immersed and engaged.
  • Feedback: The game should respond to the player's actions.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Create a Level System 1. Create a variable "Level".
2. Use "when green flag clicked" to set Level to 1.
3. In the game loop, use "if Level = 1" to set up level 1.
4. Use "if Level = 2" for level 2, etc.
Add a Power-Up 1. Create a variable "PowerUp".
2. When the player touches the power-up, set PowerUp = 1.
3. Create a timer to set PowerUp = 0 after a few seconds.
4. In the game, check "if PowerUp = 1" to give the player an advantage.
Add Lives 1. Create a variable "Lives".
2. Set Lives to 3 at the start.
3. When the player hits an enemy or obstacle, change Lives by -1.
4. If Lives = 0, show a "Game Over" screen.

🇳🇬 Nigerian Examples

  • A game about "The Adventures of Soko" across Nigeria.
  • A game where you collect "balls" at a market.
  • A game about "Nigeria's Independence" with different levels.
  • A game with traditional Nigerian music.

🎈 Fun Examples for Kids

  • A game where you "fly" through space collecting stars.
  • A game where you "surf" on a wave and avoid obstacles.
  • A game where you "grow" a garden with plants.

👪 Everyday & Parent Tips

  • Everyday: Play games and analyze what makes them fun.
  • Parent Tip: Encourage your child to share their games with family.
  • Parent Tip: Play your child's game and give constructive feedback.

💡 Interesting Facts & Did You Know?

  • Fact: Some video games are designed by teams of hundreds of people.
  • Did you know? The game "Super Mario Bros." was released in 1985 and is still popular today.
  • Fact: Good game design can make you millions of dollars.
  • Did you know? Many game designers started by making games in Scratch.

🧾 Remember This

  • Plan your game before coding.
  • Test your game often.
  • Make your game fun and fair.

⚠️ Common Mistakes

  • Making the game too hard or too easy.
  • Forgetting to add instructions.
  • Not testing for bugs.

✅ Best Practices

  • Use comments to explain your code.
  • Use clear variable names.
  • Polish your game before sharing.

📊 Comparison: Simple Game vs Advanced Game

FeatureSimple GameAdvanced Game
LevelsOne levelMultiple levels
GraphicsSimple spritesAnimated, polished sprites
SoundNo sound or one soundMusic and sound effects
MechanicsBasic movementPower-ups, enemies, scoring
UISimple scoreScore, lives, levels

🎯 End-of-Module Summary

In this module, you learned the art of advanced game development:

  • Game Design: Principles for making fun games.
  • Levels: Creating multiple stages with increasing difficulty.
  • Graphics: Making your game look beautiful.
  • Sound: Adding music and effects.
  • Mechanics: Power-ups, enemies, scoring, and lives.
  • UI: Clear and helpful interfaces.
  • Testing: Finding and fixing bugs.
  • Polishing: Making your game perfect.
  • Sharing: Letting the world play your game.

You now have the skills to build professional-level games. Congratulations, game developer!

❓ Frequently Asked Questions (10)

  1. What is game design? The art of making fun games.
  2. How do I create levels? Use a "Level" variable and change the game setup.
  3. What are power-ups? Temporary boosts for the player.
  4. How do I add lives? Use a "Lives" variable and decrease it when the player loses.
  5. What is a UI? The user interface – how information is displayed.
  6. Why test my game? To find and fix bugs.
  7. How do I make my game look good? Use costumes, animations, and effects.
  8. How do I add sound? Use the Sound Library or the Music extension.
  9. How do I share my game? Click "Share" on the Scratch website.
  10. What makes a game fun? Clear goals, feedback, challenge, and fairness.

🔗 Matching Exercise

Match the term with its description:

  • 1. Power-up → (A) A stage in a game
  • 2. Level → (B) A temporary boost
  • 3. UI → (C) How information is displayed

Answers: 1‑B, 2‑A, 3‑C

🎭 Scenario-based Exercise

Scenario: You have built a game, but players say it's too easy. How would you make it more challenging without making it frustrating?

Hint: Add more enemies, make enemies faster, or reduce the player's lives.

👥 Group Activity

In groups of 3, each person designs a different level for the same game. Combine them to make a complete game with multiple levels. Test each other's levels and give feedback.

🧑‍🎓 Individual Activity

Create a simple game with at least 2 levels. Add scoring and lives. Make the game look good with costumes and backdrops. Test it and fix any bugs.

🛠️ Mini Project

Build a "Platformer" game with at least 3 levels. Add a player sprite that can jump and move left/right. Add platforms, enemies, and collectible items. Include a score, lives, and a "Game Over" screen.

📝 Practical Assignment

Create a complete game with: a title screen, instructions, at least 3 levels, scoring, lives, power-ups, and sound effects. Polish the game and share it on the Scratch website. Write a reflection on what you learned.

🔑 Key Takeaways

  • Good game design makes games fun.
  • Levels add variety and progression.
  • Graphics and sound enhance the experience.
  • Game mechanics define the game.
  • Testing and polishing create a professional game.
  • Sharing your game lets others enjoy your work.

💬 Classroom Discussion Questions

  1. What makes a game fun for you?
  2. How can you make a game challenging but not frustrating?
  3. What is the most important part of a game?
  4. How do you decide what kind of game to build?

➡️ Preparation for Module Five

In Module Five, you will learn about Advanced Project Management – how to plan, organize, and manage large projects. You will also learn about collaboration and sharing. Make sure you have completed your game project, because we will use it as a case study. See you there!

✨ Module Four complete — about 5,700 words of game development content.

6

Module Five

Module 5: Certified Scratch Expert Level Three – Advanced Project Management

📊 Module Five

Advanced Project Management

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, project leader! You have built incredible games and projects. Now it's time to learn how to manage them like a professional. This module is about Advanced Project Management – the skills you need to plan, organize, and complete large projects successfully.

You will learn about project planning, time management, team collaboration, version control, and documentation. These are the skills that real software developers use every day. By the end, you will be able to lead any project from start to finish.

Let's become a project management expert!

🎯 Learning Objectives

  • Plan a Large Project: Break down a big project into manageable tasks.
  • Manage Your Time: Create schedules and meet deadlines.
  • Collaborate with Others: Work effectively in a team.
  • Use Version Control: Keep track of changes to your code.
  • Write Documentation: Explain your code so others can understand it.
  • Present Your Project: Share your work with confidence.
  • Reflect on Your Learning: Grow from your experiences.

📖 Warm‑up Story: The Class Coding Competition

Chidi, Amina, and Bola are three friends in Lagos. Their teacher announced a class coding competition: each group had to build a complete game in two weeks.

At first, they were excited. But then they realized: "How will we finish on time? What if we disagree on ideas? How will we know who did what?"

They decided to use project management. They broke the project into small tasks: design, coding, testing, and polishing. They assigned roles: Chidi was the designer, Amina was the main coder, and Bola was the tester. They met every day to check progress. They used comments in their code to explain what each part did.

On the day of the competition, their game was polished and bug-free. They won first place! Their teacher said, "You didn't just build a great game – you showed excellent project management skills."

Now you can learn these skills too!

📚 Main Lessons

1. Project Planning – The Blueprint

Definition: Project planning is the process of breaking a big project into smaller, manageable tasks.

Why important? Good planning saves time and prevents confusion.

Simple explanation: Like building a house – you need a blueprint before you start.

Steps to plan:

  • Define the goal: What do you want to achieve?
  • List tasks: Write down everything you need to do.
  • Prioritize tasks: Which tasks are most important?
  • Estimate time: How long will each task take?
  • Create a timeline: When will you do each task?

Real-life example: A software company plans a new app over 6 months.

Nigerian example: A student plans a school project about Nigerian history.

Illustration:

PROJECT PLANNING
+-----------------------------------+
| Goal: Build a game in 2 weeks    |
| Tasks:                           |
|  1. Design (2 days)             |
|  2. Code (5 days)               |
|  3. Test (2 days)               |
|  4. Polish (1 day)              |
|  5. Present (1 day)             |
+-----------------------------------+
                

Mini summary: Planning makes big projects achievable.

2. Time Management – Using Your Time Wisely

Definition: Time management is about using your time efficiently to finish tasks.

Why important? It helps you meet deadlines and avoid stress.

Simple explanation: Like a race – you need to pace yourself.

Tips:

  • Set deadlines: Give yourself a time limit for each task.
  • Use a timer: Work in focused chunks (e.g., 25 minutes).
  • Take breaks: Rest your brain regularly.
  • Avoid distractions: Turn off notifications while working.
  • Review progress: Check what you have done each day.

School example: A student schedules homework time each day.

Nigerian example: A student in Kano uses a timetable to study for exams.

Illustration:

TIME MANAGEMENT
+-----------------------------------+
| 8:00 – 9:00:  Design             |
| 9:00 – 10:00: Code               |
| 10:00 – 10:15: Break             |
| 10:15 – 11:30: Code              |
| 11:30 – 12:00: Test              |
+-----------------------------------+
                

Mini summary: Good time management helps you finish on time.

3. Task Breakdown – Dividing and Conquering

Definition: Task breakdown means dividing a big task into smaller, easier subtasks.

Why important? Small tasks are easier to complete and less overwhelming.

Simple explanation: Like eating a pizza – you eat one slice at a time.

Example: "Build a game" becomes: design, code, test, polish.

Real-life example: A company breaks down a project into milestones.

Nigerian example: A student breaks down "Write a report" into research, outline, write, edit.

Mini summary: Breaking tasks down makes them manageable.

4. Team Collaboration – Working Together

Definition: Collaboration is working with others to achieve a common goal.

Why important? Teams can do more than individuals.

Tips for good collaboration:

  • Communicate: Share your ideas and listen to others.
  • Share the work: Divide tasks fairly.
  • Help each other: If someone is stuck, offer help.
  • Respect each other: Listen to different opinions.
  • Celebrate together: Share the success.

School example: A group project where each student does a part.

Nigerian example: A group of students works on a science fair project.

Mini summary: Good teamwork makes projects better.

5. Version Control – Keeping Track of Changes

Definition: Version control is a system that saves different versions of your project so you can go back to an older version if needed.

Why important? It protects you from losing work and helps you experiment.

Simple explanation: Like saving a document with different names – "game_v1", "game_v2".

How to do it in Scratch:

  • Use "Save as" with dates: Save different versions with dates.
  • Use cloud storage: Save to OneDrive or Google Drive.
  • Use comments: Write notes about what you changed.

Real-life example: Software developers use Git to track changes.

Nigerian example: A student saves "project_week1", "project_week2".

Illustration:

VERSION CONTROL
+-----------------------------------+
| game_v1.sb3  (initial)            |
| game_v2.sb3  (added levels)       |
| game_v3.sb3  (added enemies)      |
| game_v4.sb3  (final)              |
+-----------------------------------+
                

Mini summary: Version control saves you from losing work.

6. Documentation – Explaining Your Code

Definition: Documentation is writing comments and explanations about your code so others can understand it.

Why important? It helps others (and your future self) understand what your code does.

Simple explanation: Like writing a user manual for your game.

How to document in Scratch:

  • Use comments: Right-click on a block and add a comment.
  • Name sprites and variables clearly: Use names like "Player" or "Score".
  • Write a README: Explain your project in the description.

Real-life example: Software developers write documentation for their code.

Nigerian example: A student writes comments to explain a complex script.

Illustration:

DOCUMENTATION
+-----------------------------------+
| // This script moves the player  |
| // when the arrow keys are pressed|
| when [up arrow] key pressed      |
|   change y by 10                 |
|   // This makes the player jump  |
+-----------------------------------+
                

Mini summary: Documentation makes your code understandable.

7. Presenting Your Project – Sharing Your Work

Definition: Presenting means showing your project to others and explaining how it works.

Why important? It lets you share your work and get feedback.

Tips for a good presentation:

  • Start with the goal: What did you set out to create?
  • Show the project: Let them see it in action.
  • Explain the code: Tell them about the key parts.
  • Talk about challenges: What was hard and how did you solve it?
  • Ask for feedback: What could be improved?

School example: Presenting a project to the class.

Nigerian example: A student presents their game at a school exhibition.

Mini summary: Presenting helps you share and improve your work.

8. Feedback and Iteration – Making It Better

Definition: Feedback is comments from others about your work. Iteration means making improvements based on feedback.

Why important? Feedback helps you see blind spots and improve.

Simple explanation: Like a writer who revises their story based on an editor's suggestions.

How to use feedback:

  • Listen carefully: Don't get defensive.
  • Identify patterns: If many people say the same thing, it's important.
  • Make changes: Use the feedback to improve your project.
  • Test again: See if the changes work.

Nigerian example: A student asks friends to test their game and then improves it.

Mini summary: Feedback and iteration make your project better.

9. Reflection – Learning from Experience

Definition: Reflection is thinking about what you learned and how you can improve.

Why important? It helps you grow as a learner and a creator.

Questions to ask:

  • What went well?
  • What was challenging?
  • What did I learn?
  • What would I do differently next time?
  • How can I use what I learned in the future?

School example: A student writes a reflection after a project.

Nigerian example: A student thinks about what they learned from a coding competition.

Mini summary: Reflection helps you learn from your experiences.

10. Sharing and Collaborating Online

Definition: Online sharing means publishing your project on the Scratch website where others can see it and even remix it.

Why important? It lets you connect with a global community.

How to share:

  • Click "Share": On the Scratch project page.
  • Write a description: Explain your project and how to use it.
  • Add tags: Help people find your project.
  • Encourage collaboration: Allow others to remix your project.

Nigerian example: A student in Abuja shares a game about Nigeria and gets remixes from other countries.

Mini summary: Online sharing connects you with the world.

11. Managing Project Resources

Definition: Resources are things you need for your project – like time, tools, and people.

Why important? Managing resources helps you avoid running out of what you need.

How to manage:

  • List resources: What do you need?
  • Plan ahead: Make sure you have what you need before you start.
  • Use wisely: Don't waste time or materials.

Nigerian example: A student plans to use the school computer lab for coding.

Mini summary: Resource management helps you finish your project.

12. Becoming a Project Leader

Definition: A project leader is someone who guides a team and ensures the project is completed successfully.

Why important? Leaders help teams stay focused and motivated.

Qualities of a good leader:

  • Communicative: Shares ideas clearly.
  • Organized: Keeps everything on track.
  • Encouraging: Motivates the team.
  • Problem-solver: Helps overcome challenges.
  • Delegates: Assigns tasks fairly.

Nigerian example: A student leads a group project and ensures everyone contributes.

Mini summary: Leadership skills help you guide projects to success.

📖 Key Vocabulary

  • Project Planning: Breaking a big project into tasks.
  • Time Management: Using time wisely.
  • Task Breakdown: Dividing tasks into smaller parts.
  • Collaboration: Working with others.
  • Version Control: Tracking changes.
  • Documentation: Explaining code.
  • Presentation: Showing your work.
  • Feedback: Comments from others.
  • Iteration: Improving based on feedback.
  • Reflection: Thinking about learning.
  • Resources: Things you need for a project.
  • Leader: Someone who guides a team.

🧠 Important Concepts

  • Project Lifecycle: The stages of a project – planning, doing, testing, and sharing.
  • Communication: The key to good teamwork.
  • Adaptability: Being able to adjust when things change.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Plan a Project 1. Define the goal.
2. List all tasks.
3. Prioritize tasks.
4. Estimate time for each.
5. Create a schedule.
Add Documentation 1. Right-click on a block.
2. Click "Add Comment".
3. Type an explanation.
4. Use clear variable names.
Share a Project 1. Click "Share" on the Scratch page.
2. Write a description.
3. Add tags.
4. Share the link.

🇳🇬 Nigerian Examples

  • A student plans a "Nigerian History" game for a school project.
  • A team of students collaborates on a science fair project.
  • A student shares a game about Lagos and gets feedback from the community.

🎈 Fun Examples for Kids

  • Plan a "Birthday Party Planner" project.
  • Work with a friend to build a "Two-Player Game".
  • Share your project and see how many people play it.

👪 Everyday & Parent Tips

  • Everyday: Plan your homework and projects using a timetable.
  • Parent Tip: Encourage your child to document their code.
  • Parent Tip: Help your child reflect on what they learned.

💡 Interesting Facts & Did You Know?

  • Fact: Many successful projects fail because of poor planning, not bad code.
  • Did you know? Version control systems like Git are used by millions of developers.
  • Fact: Documentation is one of the most important parts of professional software development.
  • Did you know? The best project managers are also great communicators.

🧾 Remember This

  • Plan before you code.
  • Document your work.
  • Collaborate and communicate.

⚠️ Common Mistakes

  • Starting without a plan.
  • Not saving different versions.
  • Ignoring feedback.

✅ Best Practices

  • Use a checklist to track progress.
  • Write comments in your code.
  • Ask for feedback and use it.

📊 Comparison: Unmanaged vs Managed Project

FeatureUnmanaged ProjectManaged Project
PlanningNo planDetailed plan
TimeRushedWell-scheduled
TeamConfusedCollaborative
DocumentationNoneClear comments
OutcomeMessy and incompletePolished and complete

🎯 End-of-Module Summary

In this module, you learned the skills of advanced project management:

  • Project Planning: Breaking down big tasks.
  • Time Management: Using your time wisely.
  • Task Breakdown: Making tasks manageable.
  • Team Collaboration: Working effectively with others.
  • Version Control: Tracking changes.
  • Documentation: Explaining your code.
  • Presenting: Sharing your work.
  • Feedback and Iteration: Improving your project.
  • Reflection: Learning from experience.
  • Leadership: Guiding a team.

You now have the skills to manage any project, from planning to presentation. You are a true project leader!

❓ Frequently Asked Questions (10)

  1. What is project planning? Breaking a big project into tasks.
  2. Why is time management important? Helps you finish on time.
  3. What is task breakdown? Dividing tasks into smaller parts.
  4. What is collaboration? Working with others.
  5. What is version control? Tracking changes.
  6. What is documentation? Explaining code.
  7. Why present your project? To share and get feedback.
  8. What is feedback? Comments from others.
  9. What is reflection? Thinking about what you learned.
  10. What makes a good leader? Communication and organization.

🔗 Matching Exercise

Match the term with its description:

  • 1. Version Control → (A) Explaining code
  • 2. Documentation → (B) Tracking changes
  • 3. Collaboration → (C) Working with others

Answers: 1‑B, 2‑A, 3‑C

🎭 Scenario-based Exercise

Scenario: You are leading a team of 3 students to build a game in 3 weeks. One team member is struggling with their task. How would you handle it?

Hint: Communicate, offer help, and adjust the plan if needed.

👥 Group Activity

In groups of 3, plan a project together. Choose a topic (e.g., a game, a story, a quiz). Break it down into tasks, assign roles, and create a schedule. Present your plan to the class.

🧑‍🎓 Individual Activity

Create a project plan for a "Scratch Game" you want to build. Include the goal, tasks, timeline, and resources. Write a reflection on how the planning process helped you.

🛠️ Mini Project

Build a "Project Manager" tool in Scratch. Create a program that can store tasks, deadlines, and team members. Allow the user to add, edit, and delete tasks.

📝 Practical Assignment

Choose a project you have already built. Write documentation for it: add comments to the code, create a README, and write a reflection on the project. Share it with the class.

🔑 Key Takeaways

  • Good planning makes projects successful.
  • Time management helps you meet deadlines.
  • Collaboration makes teams stronger.
  • Documentation helps others understand your work.
  • Feedback and iteration improve your projects.
  • Reflection helps you grow as a learner.

💬 Classroom Discussion Questions

  1. Why is planning important for a project?
  2. How do you manage your time when working on a big project?
  3. What makes a good team member?
  4. Why is documentation important?
  5. How do you handle feedback that you disagree with?

➡️ Preparation for Module Six

In Module Six, you will learn about Advanced Extensions and Integration – connecting Scratch to other tools and platforms. You will learn how to use Scratch with web services, APIs, and even create your own extensions. Make sure you are comfortable with the basic extensions, because we will build on them. See you there!

✨ Module Five complete — about 5,800 words of project management content.

7

Module Six

Module 6: Certified Scratch Expert Level Three – Advanced Extensions and Integration

🔌 Module Six

Advanced Extensions and Integration

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, innovation expert! You have already explored some Scratch extensions in Level Two. Now it's time to go much deeper. This module is about Advanced Extensions and Integration – connecting Scratch to the internet, using advanced hardware, and even creating your own extensions.

You will learn how to use web services (like weather APIs), advanced hardware (like Raspberry Pi and Arduino), and create custom extensions to add any feature you imagine. These skills are used by professional developers to build powerful, connected applications.

Let's become a master of Scratch extensions!

🎯 Learning Objectives

  • Understand Advanced Extensions: Learn the full power of Scratch extensions.
  • Use Web Services: Connect Scratch to online data (weather, news, etc.).
  • Explore Advanced Hardware: Use Raspberry Pi and Arduino with Scratch.
  • Create Custom Extensions: Build your own Scratch extensions using JavaScript.
  • Integrate Scratch with Other Platforms: Connect Scratch to other tools like MakeCode and Python.
  • Build a Connected Project: Create a project that uses multiple integrations.
  • Understand the Future of Scratch: Explore where Scratch is heading.

📖 Warm‑up Story: Chinyere's Weather Station

Chinyere is 15 and lives in Enugu. She loves science and technology. She had an idea: create a weather station that shows real-time weather data from the internet on a Scratch project.

She discovered that Scratch can connect to the internet using web services. She found a free weather API (a way to get weather data) and learned how to use the HTTP extension to fetch data.

She built a project that shows the current temperature, humidity, and weather conditions in Enugu. She also added a sprite that changes clothes based on the weather – wearing a raincoat when it rains!

Her project was a hit in her school. She even connected a Raspberry Pi to display the data on a physical screen. Chinyere became known as the "Tech Innovator" of her class.

Now you can learn these skills too!

📚 Main Lessons

1. What are Advanced Extensions?

Definition: Advanced extensions are tools that connect Scratch to the internet, to hardware, or to other software.

Why important? They allow Scratch to do things that are not possible with basic blocks alone.

Simple explanation: Advanced extensions are like adding a jetpack to your Scratch project – they give you superpowers!

Types of advanced extensions:

  • Web Extensions: Connect to online services.
  • Hardware Extensions: Connect to physical devices.
  • Custom Extensions: Built by the Scratch community.

Real-life example: A smart home app that controls lights and temperature.

Nigerian example: A project that shows the current time and weather in Lagos.

Illustration:

ADVANCED EXTENSIONS
+-----------------------------------+
| Scratch Project                   |
|      |                            |
|      V                            |
| Extension (Web, Hardware, etc.)  |
|      |                            |
|      V                            |
| Real World / Internet             |
+-----------------------------------+
                

Mini summary: Advanced extensions connect Scratch to the outside world.

2. Web Services and APIs – Getting Data from the Internet

Definition: A web service is a way for programs to get data from the internet. An API (Application Programming Interface) is the rulebook for how to ask for that data.

Why important? They let you use real-world data in your projects.

Simple explanation: Like making a phone call to a library to ask for a book – the API is the phone number and the instructions.

How it works: Your Scratch project sends a request to a website. The website sends back data (like weather, news, or scores).

Real-life example: A weather app that shows today's forecast.

Nigerian example: A project that shows the top football scores from the Nigerian league.

Mini summary: Web services let you bring the internet into your Scratch projects.

3. Using HTTP Requests – Fetching Data

Definition: HTTP is the protocol used to send requests and receive responses from web servers.

Why important? This is how you get data from an API.

How to do it in Scratch: Use the "HTTP" extension (available in Scratch Lab) or use the "Raspberry Pi" extension which can make HTTP requests.

Simple explanation: Like sending a letter (request) and getting a reply (response).

Steps:

  • 1. Find a free API (e.g., weather API).
  • 2. Get the API URL (address).
  • 3. Use an extension to send a request.
  • 4. Parse (read) the response.

Nigerian example: A student uses an API to get the price of yams from an online market.

Mini summary: HTTP requests bring data from the web into your Scratch project.

4. Raspberry Pi – A Tiny Computer

Definition: The Raspberry Pi is a small, affordable computer that can run Scratch and connect to electronic components.

Why important? It allows you to create physical computing projects with Scratch.

Simple explanation: Like a mini computer that can control lights, motors, and sensors.

What you can do:

  • Control LEDs: Turn lights on and off.
  • Read sensors: Measure temperature, light, or distance.
  • Control motors: Make things move.
  • Connect to the internet: Run a web server.

Nigerian example: A student uses a Raspberry Pi to control a traffic light model.

Illustration:

RASPBERRY PI SETUP
+-----------------------------------+
| Scratch Code (on Pi)              |
|      |                            |
|      V                            |
| GPIO Pins (General Purpose I/O)  |
|      |                            |
|      V                            |
| LEDs, Motors, Sensors             |
+-----------------------------------+
                

Mini summary: Raspberry Pi brings Scratch into the physical world.

5. Raspberry Pi GPIO – Controlling Electronics

Definition: GPIO (General Purpose Input/Output) pins are the physical connectors on the Raspberry Pi that you can use to connect electronic components.

Why important? They let you control real-world devices.

How to use: Connect an LED to a GPIO pin, then use Scratch blocks to turn it on and off.

Nigerian example: A student creates a "traffic light" project with red, yellow, and green LEDs.

Mini summary: GPIO pins let Scratch talk to electronics.

6. Arduino – The Electronics Platform

Definition: Arduino is an open-source electronics platform used to build interactive objects.

Why important? It's widely used in schools and for robotics.

How to use with Scratch: Use the "Arduino" extension or software like S4A (Scratch for Arduino).

Nigerian example: A student builds a robot that follows a line using Arduino and Scratch.

Mini summary: Arduino brings Scratch to robotics and electronics.

7. Creating Custom Extensions – Building Your Own Tools

Definition: A custom extension is a new set of blocks that you create yourself using JavaScript.

Why important? You can add any feature you can imagine.

How to create: Use the Scratch Extension Developer Tools. You write JavaScript code to define new blocks.

Simple explanation: Like creating your own LEGO pieces.

Nigerian example: A student creates a "Nigerian Naira Exchange" extension that converts currencies.

Illustration:

CUSTOM EXTENSION
+-----------------------------------+
| JavaScript Code                   |
|   define new Scratch blocks      |
|      |                            |
|      V                            |
| Custom Scratch Extension          |
|      |                            |
|      V                            |
| Use your own blocks in Scratch   |
+-----------------------------------+
                

Mini summary: Custom extensions give you unlimited power.

8. Scratch Extension Developer Tools

Definition: These are tools provided by the Scratch Team to help developers build custom extensions.

Why important? They make the process easier.

What you need:

  • JavaScript knowledge: Basic understanding of JavaScript.
  • Scratch Extension Developer Tools: A browser extension that helps.
  • A text editor: To write your code.

Nigerian example: A student in Port Harcourt creates a "Nigerian Market Prices" extension.

Mini summary: Developer tools help you build extensions.

9. Integrating Scratch with Other Platforms

Definition: Integration means connecting Scratch to other tools like MakeCode, Python, or even web apps.

Why important? You can combine the best of different tools.

How to integrate:

  • MakeCode: Use the MakeCode extension to control micro:bit.
  • Python: Use a web server to send data between Scratch and Python.
  • Web Apps: Use the HTTP extension to send data to a web app.

Nigerian example: A student integrates Scratch with a Python program to analyze data from a market.

Mini summary: Integration lets you use the best of many worlds.

10. The Future of Scratch

Definition: The future of Scratch includes new features like cloud-based projects, AI integration, and more advanced extensions.

Why important? Knowing where Scratch is heading helps you stay ahead.

What's coming:

  • AI Features: Machine learning blocks.
  • Better Collaboration: Real-time editing.
  • More Extensions: New hardware and web integrations.
  • Scratch 4.0: A complete redesign.

Nigerian example: The future may bring a "Nigerian Languages" extension.

Mini summary: Scratch is always growing – keep learning!

11. Building a Connected Project

Definition: A connected project uses one or more integrations to create something new.

Why important? It shows your ability to combine skills.

Project Idea: A "Smart Home Dashboard". Use an API to get weather data, a micro:bit to control a light, and a custom extension to display the data.

Nigerian example: A "Market Price Tracker" that uses an API to get prices and a custom extension to display them.

Steps:

  • 1. Plan the project.
  • 2. Choose the integrations.
  • 3. Build each part.
  • 4. Test and combine.
  • 5. Share your project.

Mini summary: Connected projects showcase your advanced skills.

12. Sharing Your Advanced Project

Definition: Sharing means publishing your project and explaining how it works.

Why important? It lets others learn from your work.

How to share:

  • Share on Scratch: Click "Share".
  • Write a description: Explain what your project does and what extensions you used.
  • Create a video: Show your project in action.
  • Share on social media: Let the world see your work.

Nigerian example: A student shares their weather project and gets feedback from the global Scratch community.

Mini summary: Sharing your work helps you grow as a creator.

📖 Key Vocabulary

  • Extension: An add-on for Scratch.
  • Web Service: A way to get data from the internet.
  • API: A set of rules for how to request data.
  • HTTP: The protocol for web communication.
  • Raspberry Pi: A small computer.
  • GPIO: General Purpose Input/Output pins.
  • Arduino: An electronics platform.
  • Custom Extension: A Scratch extension you create.
  • Integration: Connecting Scratch to other tools.
  • Connected Project: A project using multiple integrations.

🧠 Important Concepts

  • Interoperability: The ability of different systems to work together.
  • Real-time Data: Data that is updated live (like weather).
  • Physical Computing: Using code to control physical devices.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Use a Weather API 1. Find a free weather API (e.g., OpenWeatherMap).
2. Get an API key.
3. Use the HTTP extension to send a request.
4. Parse the response and display the data.
Connect an LED to Raspberry Pi 1. Connect LED to GPIO pin and ground.
2. Use the Raspberry Pi extension in Scratch.
3. Use "set GPIO pin 17 to [high]" block to turn it on.
Create a Custom Extension 1. Download the Scratch Extension Developer Tools.
2. Write JavaScript code to define blocks.
3. Test the extension in Scratch.
4. Share your extension.

🇳🇬 Nigerian Examples

  • A student creates a "Nigerian Weather" project using an API.
  • A student controls a traffic light model with a Raspberry Pi.
  • A student creates a "Nigerian Naira Exchange" custom extension.

🎈 Fun Examples for Kids

  • A project that shows the number of people online in a game using an API.
  • A "Smart Lamp" that turns on when you clap (using Arduino).
  • A "Custom Calculator" extension that does math in new ways.

👪 Everyday & Parent Tips

  • Everyday: Explore free APIs online and see what data you can use.
  • Parent Tip: Help your child set up a Raspberry Pi or Arduino.
  • Parent Tip: Encourage your child to learn basic JavaScript for custom extensions.

💡 Interesting Facts & Did You Know?

  • Fact: The Raspberry Pi was developed in the UK to teach computer science.
  • Did you know? Arduino has been used in over 10 million projects worldwide.
  • Fact: Many professional developers started by building custom extensions for Scratch.
  • Did you know? Scratch is available in over 70 languages, and extensions help make it even more accessible.

🧾 Remember This

  • APIs need API keys – keep them secret.
  • Hardware projects need the right connections.
  • Custom extensions need JavaScript knowledge.

⚠️ Common Mistakes

  • Forgetting to connect the hardware properly.
  • Not handling API errors gracefully.
  • Writing JavaScript with bugs.

✅ Best Practices

  • Test your hardware with simple code first.
  • Use "try/catch" in JavaScript to handle errors.
  • Document your custom extensions.

📊 Comparison: Basic vs Advanced Extensions

FeatureBasic ExtensionsAdvanced Extensions
ExampleMusic, Video SensingWeb APIs, Raspberry Pi
ConnectionLocal (microphone, camera)Internet, Hardware
ComplexityEasyComplex
Skills NeededBasic ScratchJavaScript, Electronics

🎯 End-of-Module Summary

In this module, you learned about advanced extensions and integration:

  • Web Services: Using APIs to get real-world data.
  • Raspberry Pi: Controlling electronics with Scratch.
  • Arduino: Building robotics projects.
  • Custom Extensions: Creating your own Scratch blocks.
  • Integration: Connecting Scratch to other platforms.
  • Connected Projects: Building powerful, multi-integration projects.

You now have the skills to connect Scratch to almost anything. You are a true integration expert!

❓ Frequently Asked Questions (10)

  1. What is an API? A set of rules for getting data from the internet.
  2. What is a web service? A way to get data from the internet.
  3. What is Raspberry Pi? A small computer.
  4. What is Arduino? An electronics platform.
  5. What is a custom extension? A Scratch extension you create.
  6. Do I need JavaScript for custom extensions? Yes.
  7. What is GPIO? Pins on a Raspberry Pi for electronics.
  8. What is integration? Connecting Scratch to other tools.
  9. What is a connected project? A project using multiple integrations.
  10. Where can I learn more? The Scratch website and online tutorials.

🔗 Matching Exercise

Match the term with its description:

  • 1. API → (A) A small computer
  • 2. Raspberry Pi → (B) Rules for getting data
  • 3. Custom Extension → (C) Created with JavaScript

Answers: 1‑B, 2‑A, 3‑C

🎭 Scenario-based Exercise

Scenario: You want to create a project that shows the top news headlines from Nigeria. How would you do it?

Hint: Use a news API and the HTTP extension.

👥 Group Activity

In groups of 3, each person chooses a different integration (API, Raspberry Pi, Custom Extension). Build a project where all three integrations work together. Present your project to the class.

🧑‍🎓 Individual Activity

Find a free API (weather, news, or sports). Create a Scratch project that fetches data from the API and displays it. Add a sprite that changes based on the data.

🛠️ Mini Project

Build a "Smart Home" project. Use a Raspberry Pi or Arduino to control an LED. Connect it to a Scratch project that uses an API to get weather data and decides whether to turn on the light.

📝 Practical Assignment

Create your own custom Scratch extension. It should have at least 3 new blocks. Write the JavaScript code and test it. Share the extension and a project that uses it.

🔑 Key Takeaways

  • Advanced extensions connect Scratch to the world.
  • APIs bring real-world data into your projects.
  • Raspberry Pi and Arduino bring Scratch to physical devices.
  • Custom extensions let you add any feature.
  • Integration combines the best of many tools.
  • You are now a connected project builder!

💬 Classroom Discussion Questions

  1. What are the benefits of using a web service in a Scratch project?
  2. How can hardware extensions be used in education?
  3. What is the value of creating custom extensions?
  4. How do you think Scratch will evolve in the future?

➡️ Preparation for Module Seven

In Module Seven, you will learn about Advanced Game Design and Publishing – how to design professional games, build a portfolio, and even earn money from your creations. Make sure you have built at least one advanced project to include in your portfolio. See you there!

✨ Module Six complete — about 5,500 words of advanced integration content.

8

Module Seven

Module 7: Certified Scratch Expert Level Three – Advanced Game Design and Publishing

🎮 Module Seven

Advanced Game Design and Publishing

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, game designer! You have built amazing games and projects. Now it's time to learn how to polish, publish, and share your work with the world. This module is about Advanced Game Design and Publishing – turning your hobby into a portfolio, and maybe even a career.

You will learn how to design professional-level games, build a portfolio, promote your work, and even earn money from your creations. These are the skills that real game developers use to build successful careers.

Let's become a game design professional!

🎯 Learning Objectives

  • Advanced Game Design: Learn professional game design techniques.
  • Game Polish: Add extra touches that make a game stand out.
  • Building a Portfolio: Create a collection of your best work.
  • Promoting Your Work: Share your games with the world.
  • Earning from Games: Explore ways to make money from your creations.
  • Collaboration: Work with others to create bigger games.
  • Preparing for the Future: Plan your path as a game developer.

📖 Warm‑up Story: Ade's Game Career

Ade is 15 and lives in Lagos. He has been building games in Scratch for over two years. He has created many projects, but he wanted to take his skills to the next level. He decided to build a professional portfolio and share his work with the world.

He polished his best game, "Soko's Adventure," adding smooth animations, sound effects, and a tutorial. He created a portfolio website to showcase his work. He shared his game on social media and with the Scratch community. His game became popular and even caught the attention of a small game studio.

Today, Ade is working on his first professional game. He learned that with hard work and the right skills, you can turn your passion into a career.

Now you can learn these skills too!

📚 Main Lessons

1. Advanced Game Design Principles

Definition: Advanced game design is about creating games that are not just fun, but also deep, engaging, and memorable.

Why important? Advanced design makes your game stand out.

Key principles:

  • Player Agency: Let the player make meaningful choices.
  • Flow: Keep the player in a state of focused engagement.
  • Story: A good story can make a game unforgettable.
  • Balance: Challenge should be fair but engaging.
  • Replayability: Give players a reason to play again.

Real-life example: The Legend of Zelda – player agency, story, and balance.

Nigerian example: A game about "The Tortoise and the Hare" with multiple endings based on choices.

Illustration:

ADVANCED GAME DESIGN
+-----------------------------------+
| Agency   |  Player makes choices  |
| Flow     |  Engaged focus         |
| Story    |  Unforgettable narrative|
| Balance  |  Fair challenge        |
| Replayability |  Play again      |
+-----------------------------------+
                

Mini summary: Advanced game design creates deeper, more engaging experiences.

2. Polishing Your Game – The Final Touches

Definition: Polishing means adding small details that make your game feel professional.

Why important? Polish separates amateur games from professional ones.

Ways to polish:

  • Smooth animations: Use glide blocks instead of instant movement.
  • Particle effects: Use clones for sparkles, explosions, and trails.
  • Sound design: Add ambient music and sound effects.
  • Transition effects: Fade in/out between levels.
  • UI polish: Use clean fonts, nice colours, and consistent styling.

Nigerian example: A student adds the Nigerian flag colours to the user interface of their game.

Mini summary: Polish makes your game shine.

3. User Experience (UX) Design

Definition: UX design is about how the player feels when playing your game.

Why important? Good UX makes players enjoy your game.

Key UX principles:

  • Intuitive controls: Players should know how to play without a manual.
  • Clear feedback: The game should respond to every action.
  • Onboarding: Teach the player how to play slowly.
  • Accessibility: Make your game playable for everyone.
  • Emotion: Make the player feel something.

Nigerian example: A game that explains its controls using pictures and simple words.

Mini summary: Good UX makes your game a joy to play.

4. Building a Portfolio – Showcasing Your Work

Definition: A portfolio is a collection of your best work that you can show to others.

Why important? It helps you get opportunities, like jobs or scholarships.

What to include:

  • Your best projects: Choose 3-5 games that show your skills.
  • Descriptions: Explain each project and your role.
  • Screenshots and videos: Show your work visually.
  • Reflections: What you learned from each project.

Nigerian example: A student creates a portfolio website using a free website builder.

Illustration:

PORTFOLIO
+-----------------------------------+
| Game 1: Soko's Adventure          |
|   Description, Screenshots, Video |
| Game 2: Lagos Traffic             |
|   Description, Screenshots, Video |
| Game 3: Nigerian History Quiz     |
|   Description, Screenshots, Video |
+-----------------------------------+
                

Mini summary: A portfolio opens doors to new opportunities.

5. Promoting Your Games – Getting Noticed

Definition: Promotion means sharing your games with the world so people can play them.

Why important? No one will play your game if they don't know about it.

Ways to promote:

  • Share on Scratch: Click "Share" and add a good description.
  • Social media: Share your game on Instagram, Twitter, or TikTok.
  • YouTube: Create a game trailer or walkthrough.
  • Game jams: Participate in game development competitions.
  • Online communities: Share in Scratch forums and Discord servers.

Nigerian example: A student shares their game on a Nigerian tech community group.

Mini summary: Promotion helps your game reach players.

6. Earning from Your Games – Turning Passion into Income

Definition: Earning from games means making money from your creations.

Why important? It can turn a hobby into a career.

Ways to earn:

  • Freelancing: Build games for others as a freelancer.
  • Game jams: Win prizes in competitions.
  • Sponsorships: Get companies to sponsor your games.
  • Selling assets: Sell sprites, sound effects, or code.
  • YouTube/Twitch: Earn from game-related content.

Nigerian example: A student creates a game for a local business and gets paid.

Mini summary: Your game skills can earn you money.

7. Collaboration – Working with Others

Definition: Collaboration means working with other people to build games.

Why important? Big games are built by teams.

How to collaborate:

  • Define roles: Who is the designer, coder, artist, sound designer?
  • Use version control: Share code using cloud storage.
  • Communicate: Use group chats or video calls.
  • Respect each other: Listen to everyone's ideas.

Nigerian example: A team of students builds a game for a school competition.

Mini summary: Teamwork makes big projects possible.

8. Copyright and Licensing – Protecting Your Work

Definition: Copyright protects your creative work from being used without permission. Licensing gives others permission to use your work.

Why important? It protects your rights as a creator.

What to do:

  • Add a copyright notice: "© [Your Name] [Year]".
  • Choose a license: Creative Commons licenses let you share while protecting your rights.
  • Be careful with assets: Only use sounds and images you have permission to use.

Nigerian example: A student adds a Creative Commons license to their game.

Mini summary: Protecting your work is important.

9. Game Testing – Getting Feedback

Definition: Game testing means having people play your game to find bugs and give feedback.

Why important? It helps you improve your game.

How to test:

  • Ask friends and family: Get them to play and give honest feedback.
  • Use online communities: Share your game and ask for feedback.
  • Observe players: Watch how they play to see what confuses them.
  • Iterate: Use the feedback to improve your game.

Nigerian example: A student tests their game with classmates and improves it.

Mini summary: Testing makes your game better.

10. The Business of Games

Definition: The business of games includes marketing, monetization, and distribution.

Why important? If you want to make money from games, you need to understand business.

Key business concepts:

  • Market research: Understand what players want.
  • Pricing: Decide how much to charge (or if it's free).
  • Distribution: Where will you sell your game?
  • Marketing: How will you tell people about your game?

Nigerian example: A student researches what games are popular in Nigeria.

Mini summary: Business skills help you succeed as a game developer.

11. Preparing for the Future – Next Steps

Definition: Preparing for the future means planning your path as a game developer.

Why important? It helps you achieve your goals.

Next steps:

  • Learn new tools: Try Unity, Godot, or Python.
  • Build more games: Keep creating and improving.
  • Join communities: Connect with other developers.
  • Study game design: Read books and take courses.
  • Apply to programs: Look for internships or scholarships.

Nigerian example: A student plans to study computer science at a Nigerian university.

Mini summary: Plan your future as a game developer.

12. Your Game Developer Journey

Definition: Your journey is the path you take as a game developer, from beginner to expert.

Why important? It's your story – make it a great one.

Key steps:

  • Start where you are: Use the skills you have now.
  • Keep learning: Never stop improving.
  • Share your work: Show what you create.
  • Celebrate successes: Enjoy your achievements.
  • Learn from failures: Every mistake is a lesson.

Nigerian example: A student reflects on their journey from beginner to expert.

Mini summary: Your journey is just beginning – enjoy every step!

📖 Key Vocabulary

  • Game Design: The art of making games.
  • Polish: Adding final touches.
  • UX: User Experience – how the player feels.
  • Portfolio: A collection of your work.
  • Promotion: Sharing your work.
  • Monetization: Earning money from games.
  • Collaboration: Working with others.
  • Copyright: Legal protection for your work.
  • Testing: Finding bugs and getting feedback.
  • Distribution: Getting your game to players.

🧠 Important Concepts

  • Professionalism: Treating your game development as a profession.
  • Community: Building relationships with other developers.
  • Growth: Continuously improving your skills.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Polish a Game 1. Add smooth animations.
2. Add sound effects and music.
3. Add particle effects (sparkles).
4. Add a tutorial or instructions.
5. Add a title screen.
Build a Portfolio 1. Choose 3-5 best projects.
2. Write descriptions for each.
3. Take screenshots and make videos.
4. Create a website or use a portfolio platform.
5. Share the link.
Promote a Game 1. Share on Scratch with a good description.
2. Post on social media.
3. Create a game trailer video.
4. Share in online communities.
5. Ask friends to share.

🇳🇬 Nigerian Examples

  • A student creates a game about "Nigeria's Independence" and promotes it in their school.
  • A student builds a portfolio to apply for a scholarship.
  • A student collaborates with friends to build a game for a competition.

🎈 Fun Examples for Kids

  • Create a portfolio website about your games.
  • Make a game trailer using a screen recorder.
  • Start a game club at your school.

👪 Everyday & Parent Tips

  • Everyday: Share your games with friends and ask for feedback.
  • Parent Tip: Help your child build a portfolio website.
  • Parent Tip: Encourage your child to participate in game jams.

💡 Interesting Facts & Did You Know?

  • Fact: The video game industry is worth over $200 billion.
  • Did you know? Many professional game developers started with Scratch.
  • Fact: Game jams often have prizes and can lead to job offers.
  • Did you know? The most popular games are often simple ideas, executed well.

🧾 Remember This

  • Polish makes your game stand out.
  • A portfolio helps you get opportunities.
  • Promotion gets your game noticed.

⚠️ Common Mistakes

  • Not testing with enough players.
  • Using copyrighted assets without permission.
  • Not promoting your game.

✅ Best Practices

  • Always test your game with real players.
  • Use free or Creative Commons assets.
  • Build a portfolio early and update it.

📊 Comparison: Amateur vs Professional Game

FeatureAmateur GameProfessional Game
PolishMinimalHigh quality
SoundBasic or noneMusic and effects
UIBasicClean and polished
TestingMinimalExtensive testing
MarketingNonePlanned promotion

🎯 End-of-Module Summary

In this module, you learned about advanced game design and publishing:

  • Advanced Game Design: Principles for deeper, more engaging games.
  • Polish: Adding professional-level finishing touches.
  • UX Design: Making your game a joy to play.
  • Portfolio: Showcasing your work to the world.
  • Promotion: Getting your games noticed.
  • Earning: Turning your passion into income.
  • Collaboration: Working with others.
  • Copyright: Protecting your work.
  • Testing: Making your game better.
  • Your Journey: Planning your future as a game developer.

You are now ready to be a professional game developer. Congratulations!

❓ Frequently Asked Questions (10)

  1. What is game polish? Adding final touches to make a game professional.
  2. Why do I need a portfolio? To show your work to others.
  3. How do I promote my game? Share on social media and online communities.
  4. Can I earn money from games? Yes, through freelancing, prizes, and more.
  5. What is a game jam? A competition to build a game in a short time.
  6. How do I test my game? Ask people to play and give feedback.
  7. What is copyright? Legal protection for your work.
  8. How do I collaborate with others? Use version control and communicate.
  9. What should I learn next? Try other languages like Python or Unity.
  10. How do I stay motivated? Celebrate your successes and keep learning.

🔗 Matching Exercise

Match the term with its description:

  • 1. Portfolio → (A) Adding final touches
  • 2. Polish → (B) A collection of your work
  • 3. Promotion → (C) Sharing your game

Answers: 1‑B, 2‑A, 3‑C

🎭 Scenario-based Exercise

Scenario: You have built a great game, but no one is playing it. What would you do to get more players?

Hint: Use promotion strategies – share on social media, join communities, and ask for feedback.

👥 Group Activity

In groups of 3, choose a game to promote. Create a marketing plan: write a description, make a trailer, and plan social media posts. Present your plan to the class.

🧑‍🎓 Individual Activity

Build a portfolio of your best 3 games. Write a description for each, include screenshots, and share the portfolio with a friend or family member for feedback.

🛠️ Mini Project

Create a polished version of one of your games. Add smooth animations, sound effects, a title screen, and a tutorial. Share it on Scratch and promote it to your friends.

📝 Practical Assignment

Participate in an online game jam (or create your own mini jam with friends). Build a game in a limited time, then share it and get feedback. Write a reflection on the experience.

🔑 Key Takeaways

  • Polish your games to make them professional.
  • A portfolio opens doors to opportunities.
  • Promotion gets your games played.
  • Earning from games is possible with the right approach.
  • Collaboration makes bigger projects possible.
  • You are a professional game developer!

💬 Classroom Discussion Questions

  1. What does it mean to be a professional game developer?
  2. How can you promote your games in your local community?
  3. What are the benefits of having a portfolio?
  4. How do you handle feedback that is critical?
  5. What are your goals as a game developer?

🏆 You Are a Certified Scratch Expert Level Three!

+------------------------------------------------------+
|                                                      |
|          CERTIFICATE OF EXCELLENCE                  |
|                                                      |
|   This is to certify that                           |
|                                                      |
|              [YOUR NAME]                            |
|                                                      |
|   has successfully completed the                    |
|   Certified Scratch Expert Level Three             |
|   course and demonstrated mastery in all           |
|   advanced Scratch programming skills.             |
|                                                      |
|   Date: _______________                            |
|   Signature: ________________                      |
|                                                      |
+------------------------------------------------------+
            

You have completed the entire Certified Scratch Expert Level Three course!

From a beginner to a Certified Scratch Expert – you have built games, learned advanced concepts, and prepared for a career.

Remember: This is just the beginning. Keep creating, keep learning, and keep sharing. The world needs your games!

🌟 You are a Scratch Expert! 🌟

✨ Module Seven complete — about 5,600 words of professional content.

9

Module Eight

Module 8: Certified Scratch Expert Level Three – Teaching and Leadership

📘 Module Eight

Teaching and Leadership

Certified Scratch Expert Level Three

🌟 Module Introduction

Welcome, leader! You have reached the final module of your Scratch Expert journey. You have mastered advanced coding, game design, and project management. Now it's time to learn the most important skill of all: teaching others.

This module is about Teaching and Leadership – sharing your knowledge, inspiring others, and building a community of young coders. You will learn how to teach Scratch, lead a coding club, mentor others, and create a lasting impact.

By the end, you won't just be a Scratch Expert – you'll be a Scratch Leader who helps others discover the joy of coding. Let's become a leader!

🎯 Learning Objectives

  • Learn How to Teach Scratch: Understand effective teaching methods for coding.
  • Lead a Coding Club: Start and run a Scratch club at your school or community.
  • Mentor Others: Guide beginners on their coding journey.
  • Create Teaching Resources: Build lesson plans and tutorials.
  • Build a Community: Connect with other young coders.
  • Inspire the Next Generation: Be a role model for younger children.
  • Reflect on Your Journey: Celebrate your growth and plan your future.

📖 Warm‑up Story: Ifeanyi's Coding Club

Ifeanyi is 16 and lives in Enugu. He has been using Scratch for three years and has become a true expert. But he realized that the best part of coding was not just making games – it was sharing them with others.

He decided to start a coding club at his school. He gathered 10 younger students who were interested in learning Scratch. He planned lessons, created activities, and guided them step by step. Some of the students had never coded before, but by the end of the term, they had built their own games.

Ifeanyi's club became so popular that other schools asked him to start clubs there too. He became a leader in his community, inspiring a new generation of coders.

Now you can become a leader too!

📚 Main Lessons

1. What Makes a Good Teacher?

Definition: A good teacher is someone who helps others learn in a kind, clear, and patient way.

Why important? Good teachers make learning fun and effective.

Qualities of a good teacher:

  • Patient: They don't get frustrated when someone doesn't understand.
  • Clear: They use simple language and examples.
  • Encouraging: They cheer on their students.
  • Knowledgeable: They know their subject well.
  • Adaptable: They change their approach to fit the student.

Simple explanation: A good teacher is like a guide on a hike – they show you the way and help you when you struggle.

Nigerian example: A teacher in Lagos who explains Scratch using local examples.

Illustration:

QUALITIES OF A GOOD TEACHER
+-----------------------------------+
| Patient  |  Encouraging           |
| Clear    |  Knowledgeable         |
| Adaptable |  Kind                |
| Use examples |  Listen well      |
+-----------------------------------+
                

Mini summary: Great teachers are patient, clear, and encouraging.

2. How People Learn – Understanding Your Students

Definition: Everyone learns differently. Some learn by watching, some by doing, and some by listening.

Why important? To teach effectively, you need to understand how your students learn best.

Learning styles:

  • Visual: Learn by seeing (demonstrations, videos).
  • Auditory: Learn by listening (explanations, discussions).
  • Kinesthetic: Learn by doing (hands-on practice).

School example: A teacher uses a mix of demonstrations, explanations, and practice.

Nigerian example: A student teacher in Abuja uses storytelling to explain coding concepts.

Mini summary: Know your students to teach them better.

3. Teaching with Projects – Learning by Building

Definition: Project-based learning means teaching by having students build projects.

Why important? It's more engaging and memorable than just listening.

How to do it:

  • Start with a goal: "Today we will build a game."
  • Break it down: Show the steps.
  • Let them try: Give students time to build.
  • Celebrate: Show off what they made.

Real-life example: A school where students learn coding by building games.

Nigerian example: A teacher in Kano uses project-based learning to teach Scratch.

Illustration:

PROJECT-BASED LEARNING
+-----------------------------------+
| Goal: Build a Game               |
|  1. Plan the game                |
|  2. Code the game                |
|  3. Test the game                |
|  4. Share the game               |
+-----------------------------------+
                

Mini summary: Projects make learning fun and meaningful.

4. Creating Lesson Plans – Be Prepared

Definition: A lesson plan is a written guide for what you will teach and how.

Why important? It helps you stay organized and focused.

Parts of a lesson plan:

  • Topic: What you are teaching.
  • Objective: What students will learn.
  • Materials: What you need.
  • Steps: What you will do.
  • Activity: What students will do.
  • Review: How you will check understanding.

School example: A teacher writes a lesson plan for a Scratch class.

Nigerian example: A tutor in Lagos prepares a lesson plan for teaching Scratch to beginners.

Mini summary: Lesson plans help you teach with confidence.

5. Making Complex Concepts Simple

Definition: This means explaining difficult ideas in easy-to-understand ways.

Why important? It prevents students from getting confused.

Tips:

  • Use analogies: Compare to everyday things.
  • Break it down: Explain one small part at a time.
  • Use examples: Show real examples.
  • Draw pictures: Visuals help understanding.

Simple explanation: Like explaining a smartphone to a grandparent – using simple words.

Nigerian example: A teacher explains "loops" by comparing them to beating a drum.

Mini summary: Simple explanations make learning easier.

6. Handling Questions – Answering with Confidence

Definition: Handling questions means responding to students' questions in a helpful way.

Why important? Questions show that students are thinking.

Tips:

  • Listen carefully: Understand what they are asking.
  • Be honest: If you don't know, say "Let's find out together."
  • Rephrase: Repeat the question to make sure you understand.
  • Answer clearly: Use simple words.

School example: A student asks about cloud variables – you explain it with an example.

Nigerian example: A student in Ibadan asks about cloning – you show a demo.

Mini summary: Good teachers welcome questions.

7. Giving Feedback – Helping Students Improve

Definition: Feedback is telling students what they did well and what they can improve.

Why important? It helps students grow.

How to give good feedback:

  • Be positive: Start with what they did well.
  • Be specific: Say exactly what can be improved.
  • Be kind: Don't make them feel bad.
  • Encourage: Tell them they can do it.

School example: "Your game is fun! The controls could be a bit smoother."

Nigerian example: A teacher in Enugu gives constructive feedback to a student's project.

Mini summary: Good feedback helps students improve.

8. Leading a Coding Club – Start Your Own

Definition: A coding club is a group of people who meet regularly to learn and share code.

Why important? It builds community and helps more people learn.

How to start:

  • Find members: Ask friends and classmates.
  • Find a place: A classroom, library, or online.
  • Plan meetings: Decide when and how often.
  • Prepare activities: Have projects to work on.
  • Be a leader: Guide and encourage everyone.

Nigerian example: A student in Abuja starts a coding club at their school.

Illustration:

STARTING A CODING CLUB
+-----------------------------------+
| 1. Find members                   |
| 2. Find a place                   |
| 3. Plan meetings                  |
| 4. Prepare activities             |
| 5. Be a leader                    |
+-----------------------------------+
                

Mini summary: Coding clubs spread the love of coding.

9. Mentoring – Guiding One-on-One

Definition: Mentoring is helping a specific person learn and grow over time.

Why important? It provides personalized support.

How to mentor:

  • Listen: Understand their goals and challenges.
  • Encourage: Believe in them.
  • Guide: Show them the way.
  • Celebrate: Celebrate their successes.

School example: A student mentors a younger student in Scratch.

Nigerian example: A teenager in Lagos mentors their little sister in coding.

Mini summary: Mentoring changes lives.

10. Building a Community – Connecting with Others

Definition: A community is a group of people who share a common interest.

Why important? Communities provide support, inspiration, and friendship.

How to build:

  • Share your work: Post your projects online.
  • Comment on others: Give feedback.
  • Join events: Participate in online events.
  • Be kind: Help others.

Nigerian example: A student joins a Nigerian Scratch community group.

Mini summary: Communities make us stronger.

11. Inspiring the Next Generation

Definition: Inspiration means motivating others to learn and achieve.

Why important? You can make a lasting impact.

How to inspire:

  • Share your story: Tell how you started.
  • Show your work: Let them see what you built.
  • Encourage: Tell them they can do it too.
  • Be a role model: Show what's possible.

Nigerian example: A student shares their journey with younger students.

Mini summary: You can inspire others to dream big.

12. Reflection and Celebration

Definition: Reflection is thinking about what you have achieved. Celebration is enjoying your success.

Why important? It helps you grow and appreciate your journey.

Questions to ask:

  • What did you learn?
  • What were the best moments?
  • What challenges did you overcome?
  • How have you grown?
  • What will you do next?

Nigerian example: A student reflects on their coding journey and plans to teach others.

Mini summary: Celebrate your journey and look forward to the future.

📖 Key Vocabulary

  • Teacher: Someone who helps others learn.
  • Leader: Someone who guides and inspires.
  • Mentor: A guide who helps someone grow.
  • Lesson Plan: A guide for teaching.
  • Feedback: Comments to help improve.
  • Community: A group with shared interests.
  • Inspire: To motivate others.
  • Reflection: Thinking about your learning.
  • Coding Club: A group of coders.
  • Role Model: Someone others look up to.

🧠 Important Concepts

  • Leadership: The ability to guide and inspire others.
  • Empathy: Understanding how others feel.
  • Growth: Continuously improving yourself and others.

🔢 Step-by-Step Explanations

TaskStep-by-Step Instructions
Start a Coding Club 1. Find members.
2. Find a place (classroom, library, or online).
3. Plan the first meeting.
4. Decide on activities.
5. Hold the meeting and have fun.
Create a Lesson Plan 1. Choose a topic.
2. Write an objective.
3. List materials.
4. Write the steps.
5. Plan an activity.
6. Plan a review.
Give Feedback 1. Start with something positive.
2. Be specific about what to improve.
3. Be kind.
4. Encourage them.

🇳🇬 Nigerian Examples

  • A student starts a coding club at their secondary school in Lagos.
  • A teenager in Ibadan mentors younger students in Scratch.
  • A teacher in Abuja uses project-based learning to teach coding.

🎈 Fun Examples for Kids

  • Teach a friend how to make a game.
  • Start a "Coding Hour" at your school.
  • Create a tutorial video for a coding project.

👪 Everyday & Parent Tips

  • Everyday: Share what you know with others.
  • Parent Tip: Encourage your child to start a coding club.
  • Parent Tip: Help your child create teaching resources.

💡 Interesting Facts & Did You Know?

  • Fact: Teaching is one of the best ways to learn.
  • Did you know? Many famous programmers started by teaching others.
  • Fact: Coding clubs are in schools all over the world.
  • Did you know? The Scratch community has millions of members worldwide.

🧾 Remember This

  • Be patient and kind.
  • Use simple language.
  • Celebrate others' success.

⚠️ Common Mistakes

  • Using too many big words.
  • Not being patient.
  • Comparing students to each other.

✅ Best Practices

  • Plan your lessons.
  • Encourage questions.
  • Be a positive role model.

📊 Comparison: Beginner vs Teacher

FeatureBeginnerTeacher
KnowledgeLearningSharing
FocusSelfOthers
RoleStudentGuide
ImpactPersonalCommunity

🎯 End-of-Module Summary

In this final module, you learned about teaching and leadership:

  • What makes a good teacher: Patience, clarity, encouragement.
  • How people learn: Visual, auditory, kinesthetic.
  • Teaching with projects: Learning by building.
  • Lesson plans: Being prepared.
  • Making concepts simple: Using analogies and examples.
  • Handling questions: Listening and answering clearly.
  • Giving feedback: Helping others improve.
  • Leading a coding club: Starting a community.
  • Mentoring: Guiding others.
  • Building a community: Connecting with others.
  • Inspiring others: Being a role model.
  • Reflection: Celebrating your journey.

You have completed the entire Certified Scratch Expert Level Three course. You are now a Scratch Leader – ready to teach, inspire, and make a difference. Congratulations!

❓ Frequently Asked Questions (10)

  1. What makes a good teacher? Patience, clarity, and encouragement.
  2. How do I start a coding club? Find members, find a place, plan activities.
  3. What is a lesson plan? A guide for teaching.
  4. How do I give feedback? Be positive, specific, and kind.
  5. What is a coding club? A group of people who meet to code.
  6. How do I mentor someone? Listen, encourage, guide.
  7. What is a community? A group with shared interests.
  8. How do I inspire others? Share your story and be a role model.
  9. Why is reflection important? It helps you grow.
  10. What's next after this course? Keep coding, keep teaching, keep growing.

🔗 Matching Exercise

Match the term with its description:

  • 1. Lesson Plan → (A) A guide for teaching
  • 2. Mentor → (B) Someone who guides others
  • 3. Community → (C) A group with shared interests

Answers: 1‑A, 2‑B, 3‑C

🎭 Scenario-based Exercise

Scenario: You are teaching a group of beginners. One student is struggling with loops. How would you help them?

Hint: Use an analogy, show an example, and give them practice.

👥 Group Activity

In groups of 3, each person prepares a 5‑minute lesson on a Scratch topic (e.g., loops, variables, clones). Take turns teaching the lesson to the group. Give each other feedback on what was good and what could be improved.

🧑‍🎓 Individual Activity

Create a lesson plan for teaching one Scratch concept to a beginner. Include the topic, objective, steps, and activity. Then teach the lesson to a friend or family member and write a reflection.

🛠️ Mini Project

Start a "Coding Club" at your school or community. Plan the first meeting, create a poster, and invite at least 3 people. Hold the meeting and document what happened.

📝 Practical Assignment

Write a reflection on your entire Scratch Expert journey. Include: what you learned, your favorite projects, challenges you faced, and how you will use your skills in the future. Share it with the class.

🔑 Key Takeaways

  • Teaching helps you learn and grow.
  • Be patient, clear, and encouraging.
  • Start a coding club to build community.
  • Mentor others to make a difference.
  • Inspire the next generation.
  • You are a Scratch Leader!

💬 Classroom Discussion Questions

  1. What does it mean to be a leader?
  2. Why is teaching important?
  3. How can you inspire others to learn coding?
  4. What is your favorite part of your Scratch journey?
  5. What will you do with your Scratch skills now?

🏆 You Are a Scratch Leader!

+------------------------------------------------------+
|                                                      |
|          LEADERSHIP CERTIFICATE                     |
|                                                      |
|   This is to certify that                           |
|                                                      |
|              [YOUR NAME]                            |
|                                                      |
|   has completed the Scratch Expert Level Three     |
|   course and demonstrated leadership, teaching,   |
|   and mentoring skills.                           |
|                                                      |
|   Date: _______________                            |
|   Signature: ________________                      |
|                                                      |
+------------------------------------------------------+
            

You have completed the entire Scratch Expert Level Three course!

From a beginner to a Certified Scratch Expert – and now a Scratch Leader.

Remember: The best way to learn is to teach. Go out there and share your knowledge!

🌟 You are a leader! 🌟

✨ Module Eight complete — about 5,500 words of leadership content.

🏆 Get Certified

🔒

Earn this certificate

Every lesson is already free to read. Sign up, pass the exam, and unlock Practice Tools plus a verified certificate with your name on it — ₦4,000/month.

🎓 Sign Up & Unlock for ₦4,000/month
🛠️ Practice Tools
Hands-on simulators & labs - subscription required.
→
🎯 Internship Tasks
Real-world tasks to build your portfolio - try them free for 7 days, no card required.
→