Live: In-Person and Online
This course provides an introduction to Scratch, a visual programming language designed to teach programming concepts through hands-on projects. Over the course, students will learn to create interactive games and animations using basic Scratch tools and concepts. By the end of the course, students will have developed several fun games while mastering key programming skills.
“Coding Essentials With Scratch”
July’2025-August’2025
Here you can view and download your certificates
Learned the coordinate system in Scratch using the Stage’s XY grid.
The center of the stage is (0, 0).
The X-axis runs horizontally (left ↔ right).
Positive X values move a sprite right.
Negative X values move a sprite left.
Examples:
Walking forward and backward on a straight road.
Earning and spending money: Earning adds to X (goes right), spending subtracts from X (goes left).
The Y-axis runs vertically (up ↕ down).
Positive Y values move a sprite up.
Negative Y values move a sprite down.
Examples:
Jumping or flying upward (positive Y).
Going down stairs or into a mine (negative Y).
Lifting a balloon or climbing a ladder = Y increases.
Learned how to “print” letters using coordinates by placing pen down and moving the sprite.
Started printing the name “HAMZA”.
Successfully created the letters H and A using movement and drawing.
Using motion blocks like go to x: y: and move steps.
Practiced pen blocks like pen down, pen up, and clear.
Applied math and logic to place lines and angles correctly.
Converted Name Printing Code
Replaced all go to x: y: blocks with glide instructions.
Made the letters move smoothly to their positions.
Added Character Sprites
Imported new character sprites to the stage.
Applied Visual Effects for Animation
Used the following visual effects to animate sprites:
set ghost effect to 50 – made sprite semi-transparent.
set whirl effect to 100 – added a twisting visual effect.
set fisheye effect to 50 – gave a bubble-like distortion.
change size by 20 – increased sprite size for emphasis.
Used Loops for Animation
Wrapped effects inside repeat blocks to create animation over time.
Taught Broadcasting through Name Printing
Built upon the previous class’s name printing activity.
Used broadcast and when I receive blocks to animate each letter one after the other.
Helped students understand event-driven programming using broadcasting.
Frog Road Crossing Game Implementation
Designed the road layout horizontally on the screen.
Programmed cars to move horizontally across the screen using change x by blocks.
Assigned vertical movement controls (change y by) to the Frog sprite.
Ensured the frog moves upward and downward to cross the road.
Used broadcasting for major game events:
broadcast win when frog reaches the top safely.
broadcast dead when frog collides with a car.
Changed frog costume to a “crashed” version on collision.
Used switch costume to block upon receiving crash.
Used if touching block to detect collisions between frog and cars.
Triggered broadcast and visual feedback accordingly.
Enhanced Car Behavior with Randomness
Introduced randomness in car behavior to make the game more dynamic and unpredictable.
Randomly changed car costumes using pick random block to simulate different car types.
Varied the car speed using change x by pick random, adding more challenge.
Randomized the waiting time before each car starts, using wait pick random block.
Timer Implementation
Added a timer to track how long the player takes to cross the road.
Used variable blocks to create and update the timer continuously during gameplay.
Helped students understand how timers can increase urgency and add a scoring dimension.
Visual Feedback for Win/Loss
Decreased the frog’s size when it wins to give a visual sense of progress or reward.
Changed the backdrop to a victory scene when the frog wins using switch backdrop to win.
Switched backdrop to a game over scene on losing using switch backdrop to lose.
Reinforced cause-and-effect relationships using broadcasts for both outcomes.
Created a moving road using two road sprites (not backdrops) to simulate forward motion.
Made the road scroll continuously by changing Y positions and resetting when off-screen.
Added a player car sprite that moves left and right smoothly using the glide block.
Avoided go to for player control to ensure smooth, natural movement.
Added enemy cars that:
Appear at random X positions.
Randomly choose costumes and speeds.
Glide downward and reappear after a delay.
Created custom “Game Start” and “Game Over” screens using text-based sprites (not backdrops).
Controlled visibility using broadcast messages.
Added a timer variable to count how long the player survives.
Used collision detection to trigger the game over sequence when the player car touches an enemy car.
Limited the Number of Enemy Cars:
carCount variable to ensure no more than 2 cars appear on the road at the same time.carCount when a new enemy car spawns and decremented it when the car goes off-screen.Added Player Lives:
lives variable (starting from 3).Added Sounds:
Controlled Car Speed with Variables:
carSpeedLow and carSpeedHigh to define a range for enemy car speed.Added a board that moves with arrow keys and changes color with ‘A’ key.
Created colored balls (3 types) using clones falling from the top.
Balls glide down from random positions.
Catching ball with matching color increases score.
Catching wrong color or missing a ball triggers Game Over.
Added a Score variable.
Added Rainbow Power-Up that allows catching any color temporarily.
Displayed Game Over screen and stopped game on failure.
Nourishing the Programmer in you!
schoolofseedprogramming@gmail.com
query@seedprogramming.org