Seed Programming

About Program

Scratch course is designed to introduce kids to programming through creativity, games, and visual thinking. Students start by exploring the Scratch interface and gradually learn how to animate characters, draw with code, and build interactive games. Through mini-projects like a Pac-Man and Space Invader, learners develop logical thinking and problem-solving skills. The course ends with polished games, presentations, and peer feedback to build confidence and communication skills.

In Collaboration with Information Technology University (ITU)

Course Outline

Lecture 1: Getting Started with Scratch
  • Installing Scratch and setting up the environment
  • Exploring the Scratch interface and tools
  • Understanding sprites, stage, and blocks
  • Moving sprites and controlling actions
Lecture 2: Turtle Graphics & Drawing Basics
  • Using the Pen extension
  • Drawing lines and shapes
  • Creating colorful patterns and artwork
  • Mini Activity: Design your own drawing
Lecture 3: Color Pop Game - Part 1
  • Introduction to the Color Pop game
  • Creating colorful balloon/ball sprites
  • Making sprites appear randomly on the screen
  • Using mouse clicks to pop objects
  • Mini Project: 🎈 Build the basic Color Pop gameplay
Lecture 4: Color Pop Game - Part 2
  • Adding score variables
  • Creating a countdown timer
  • Adding sound effects and animations
  • Increasing difficulty with speed and more objects
  • Mini Project: 🌈 Complete and polish the Color Pop Game
Lecture 5: Frog Crossing Game - Part 1
  • Creating the frog character
  • Adding moving obstacles
  • Handling collisions
  • Building core gameplay mechanics
Lecture 6: Frog Crossing Game - Part 2
  • Adding scoring systems
  • Creating levels
  • Win and lose conditions
  • Testing and improving the game
Lecture 7: Car Racing Game - Part 1
  • Introduction to racing game mechanics
  • Creating the player car sprite
  • Using keyboard controls for movement
  • Designing the race track and road
  • Mini Project: 🚗 Build a playable racing track
Lecture 8: Car Racing Game - Part 2
  • Adding enemy cars and obstacles
  • Implementing collision detection
  • Creating score and distance tracking
  • Adding sound effects and game-over screens
  • Mini Project: 🏁 Complete and polish the Car Racing Game
Lecture 9: Space Shooter Game - Part 1
  • Creating a spaceship
  • Adding shooting mechanics
  • Creating enemies
  • Collision detection for shooting
Lecture 10: Space Shooter Game - Part 2
  • Adding score tracking
  • Creating lives and health systems
  • Adding sounds and effects
  • Balancing gameplay difficulty
Lecture 11: Maze Runner Game - Part 1
  • Introduction to maze game mechanics
  • Designing a maze using the backdrop editor
  • Creating and controlling the player sprite
  • Detecting walls using color sensing
  • Mini Project: 🧩 Build a basic playable maze
Lecture 12: Maze Runner Game - Part 2
  • Adding a start point and finish line
  • Creating levels with increasing difficulty
  • Adding timers and score tracking
  • Adding sound effects and win/lose screens
  • Mini Project: 🏆 Complete and polish the Maze Game

Recorded Lectures will be uploaded here.

~ CREATE ACCOUNT ON SCRATCH
  • Introduction to the Scratch platform and its purpose.

  • Opened the Scratch website and navigated to the sign-up page.

  • Created a new Scratch account step by step.

  • Chose a unique username and created a secure password.

  • Entered the required account information correctly.

  • Verified the account using the registered email address.

  • Logged into Scratch for the first time after registration.

  • Explored the Scratch dashboard and explained the basic interface for new users.

Lecture 01: Introducing Scratch - Understanding Coordinates & Joining the Dots
  • Introduction to the coordinate plane (X-axis and Y-axis)
  • Understanding positive and negative coordinates
  • Locating points using ordered pairs (x, y)
  • Plotting points accurately on a grid
  • Reading coordinates of given points
  • Joining plotted points to create lines and shapes
  • Identifying patterns and pictures formed by connected points
  • Solving fun coordinate challenges and drawing activities using plotted points

Lecture 02: Dot-to-Dot Drawing and Cool Name Animation Effects
  • Downloaded a dot-to-dot image from the internet.
  • Imported the dot-to-dot image into Scratch.
  • Learned how to use the Pen tool in Scratch.
  • Joined the dots to create a complete drawing.
  • Added name sprites to the project.
  • Applied the Color Changing effect to the name sprites.
  • Applied the Whirl effect to create a twisting animation.
  • Applied the Fisheye effect to distort the sprites creatively.
  • Applied the Pixelate effect to give the sprites a pixelated appearance.
  • Applied the Ghost effect to make the sprites transparent.

Lecture 03: Puppy Road Crossing Game
  • Drew the road, grass, and footpath using the Paint editor.
  • Added car sprites to the game scene.
  • Programmed the cars to move across the road.
  • Added random speeds so each car moves differently.
  • Added a puppy character as the player.
  • Programmed the puppy to move using keyboard controls.
  • Created collision detection between the puppy and cars.
  • Added a “Puppy Dead” message when the puppy gets hit by a car.
  • Tested and improved the game to make road crossing challenging and fun

Lecture 04: Dash Runner Game
  • Create the ground and sky using the Paint Editor.
  • Add the player (cube) and design its costume.
  • Make the player jump using the Space key.
  • Add gravity so the player falls back to the ground.
  • Create spike obstacles.
  • Make obstacles move from right to left.
  • Detect collisions between the player and obstacles.
  • Restart the game when the player hits a spike.
  • Add a score that increases as the player survives.
  • Created a Start Screen.

Lecture 05: Dash Runner Game (Extended)
  • Added a score system that increases as the player progresses through the game
  • Implemented a life system to give the player multiple chances before the game ends
  • Designed and painted heart icons to visually display the player’s remaining lives
  • Created power-up shoes that temporarily boost the player’s movement speed
  • Programmed collision detection for collecting the shoe power-up and activating its effect
  • Updated the game interface to display the score and lives in real time
  • Enhanced the overall gameplay by introducing power-ups and a reward-based progression system.

Lecture 06: Snake Game - Part 1
  • Created a snake sprite and positioned it at the center of the stage when the game starts.
  • Used a Direction variable to store the snake’s current movement direction.
  • Implemented continuous movement using a forever loop.
  • Programmed the snake to move up, down, left, and right by changing its x and y coordinates.
  • Changed the snake’s costume based on its movement direction (Up, Down, Left, Right).
  • Added keyboard controls using the arrow key pressed events.
  • Prevented the snake from reversing into itself by blocking opposite-direction inputs (e.g., Up cannot immediately become Down).
  • Used if conditions to determine the snake’s movement and update its position accordingly.

Lecture 07: Snake Game - Part 2
  • Cloned the snake’s head to dynamically create trailing body segments.

  • Linked clone lifespan to a variable so the tail grows longer when eating food.

  • Painted unique designs to clearly distinguish the head and tail.

  • Added a vibrant color effect to make a colorful rainbow trail.

  • Programmed self-collision detection for when the head hits the tail.

  • Created a “Game Over” trigger that stops the game upon self-collision.

  • Implemented a score variable to track food collected in real time.

  • Added initialization code to reset the score to zero when starting.

  • Integrated movement, cloning, scoring, and collisions into a single game loop.

Help Session: Logic Statements, Relational Operators & The Coordinate Plane
  • Understood the concept of logic statements and how they help a program make decisions.
  • Learned to use relational operators (>, <, =, >=, <=, ) to compare values.
  • Created True and False conditions to control the flow of Scratch programs.
  • Explored the Cartesian Coordinate Plane and identified the X-axis and Y-axis.
  • Learned how sprite positions are determined using (X, Y) coordinates.
  • Moved sprites to specific locations using go to x: y: and glide to x: y: blocks.
  • Practiced using coordinates and logical comparisons to build simple animations and games.

Lecture 08: Duel Snake Game
  • Designed and built a dual-player Snake Game in Scratch.
  • Controlled two snakes simultaneously using different keyboard keys.
  • Used variables to track each player’s score and game progress.
  • Implemented collision detection for food collection and player interactions.
  • Programmed the snakes to grow in length after eating food.
  • Generated food at random positions using the coordinate system.
  • Applied conditional (if/if-else) statements to handle game rules and winning conditions.
  • Enhanced the game with smooth movement, score updates, and competitive multiplayer gameplay

Lecture 09: Space Shooter Game
  • Uploaded the spaceship sprite and selected a space-themed backdrop.
  • Programmed the spaceship to move left and right using keyboard controls.
  • Added a slight 5° tilt while moving to create a realistic flying effect.
  • Created a bullet sprite and programmed it to shoot from the spaceship.
  • Designed an enemy spaceship that continuously spawns and moves across the screen.
  • Used cloning to generate multiple enemy spaceships during gameplay.
  • Applied conditional (if) statements to detect bullet-enemy collisions.
  • Removed enemies when hit and prepared the game for score tracking and gameplay progression.

Homework 9