Week 1 – Computer Science Fundamentals
By the end of this week, students will be able to:
● Explain the difference between hardware and software.
● Describe how computers use electricity to process information.
● Understand that computers only understand binary (0 and 1).
● Explain why programming languages exist.
● Understand what an algorithm is.
● Understand the performance of an algorithm
● Create simple algorithms without writing code.
Day 1 – How Computers Work
-Students will discover how computers work internally and understand why programming
languages like Python are necessary.
● Course Introduction
● Computers Use Electricity
● How CPU works with electrical instructions
● Hardware vs Software
● Software instruct CPU
● Binary numbers
● Why programming language exist
● Assembly language
● High-Level Programming Languages
● Why python
Day 2 – Introduction to Algorithms
-Students will understand that every program has a solution called an algorithm.
● A quick review
● What is an Algorithm?
● Algorithms in daily life
● Why Algorithms Matter in computing
● Time complexity and space complexity
● Unplugged Activities Based on [Link]
Week 2 – Getting started with Python Using Pictoblox
By the end of this week, students will be able to:
● Understand that programming languages are used to write instructions for computers.
● Set up and navigate the PictoBlox programming environment.
● Identify the main parts of the PictoBlox interface.
● Understand what a sprite is
● Use the say and think commands to communicate with a sprite.
● Understand the purpose of arguments in programming.
● Understand what variables are and why programmers use them.
● Create, assign, and use variables to store information.
● Apply variable naming rules and update (overwrite) variable values.
● Create a simple self-introduction and personalized programs using variables.
Day3 : Introduction to Python Programming with PictoBlox
-Students will begin writing their first Python programs using PictoBlox and understand that
programming languages are used to write instructions for computers.
● From Algorithms to Computer Programs
● Downloading and Installing PictoBlox
● Exploring the PictoBlox Interface
● What is a Sprite?
● Creating Your First Sprite Program
● Sprite Says "Hello, World!"
● Sprite Says "Hello, World!" for 2 Seconds
● Sprite Thinks "Hello, World!"
● Sprite Thinks "Hello, World!" for 2 Seconds
● Introduction to Arguments and Parameters
● Activity: Create a Sprite Self-Introduction
● Lesson Review and Q&A
Day 4: Introduction to Variables
-Students will understand what variables are, why they are used in programming, and how to
store and use information in Python using PictoBlox.
● Review: Arguments (Parameters)
● What is a Variable?
● Variable Declaration and Assignment Syntax
● Variables as Containers for Storing Data
● Understanding Variables (Left Side) and Values (Right Side)
● Storing and Displaying Text (Strings)
● Using Variables in Sprite Messages
● Variable Naming Rules
● Overwriting Variable Values
● Avoid Creating Unnecessary Variables
● Activity: Create Favourite Colour and Favourite Song Variables
● Lesson Review and Q&A
Week 3 : Data types
By the end of this week, students will be able to:
● Understand how Python programs interact with users through input and output.
● Identify common input and output devices.
● Use the input() function to receive information from users.
● Store user input in variables.
● Combine text and variables using string concatenation.
● Understand that Python stores different kinds of information using data types.
● Identify common Python data types using the type() function.
● Perform calculations using arithmetic operators.
● Convert values between different data types using type conversion.
Day 5: Input and Output
-Students will learn how Python programs interact with users by receiving input and displaying
output.
● Review: Variables
● What is Input?
● What is Output?
● Common Input Devices
● Common Output Devices
● The input() Function
● Understanding the Argument of input()
● Storing User Input in Variables
● String Concatenation with the + Operator
● Concatenating Text with String Variables
● Why Concatenation Works with Strings
● Greeting the User Using Their Name
● Activity: Ask the User for Their Name, Favourite Colour, and Favourite Song
Day 6: Data Types and Arithmetic Operators
-Students will understand that different kinds of data have different data types, learn how to
identify and convert data types, and use arithmetic operators to create a simple calculator.
● Review: Input, Output, and Variables
● What is Data?
● Why Do Different Data Types Exist?
● How Data Types Help Computers Process Information
● Variables Store Different Types of Values
● Introduction to Python Data Types
● Using the type() Function
● The Seven Arithmetic Operators
● Understanding the str + int Error
● Type Conversion (Casting)
● Activity: Build a Simple Calculator
Week 4 : Conditional Selection
By the end of this week, students will be able to:
● Understand that computers can make decisions by checking conditions.
● Understand the purpose of the Boolean data type (True and False) in programming.
● Use conditional statements (if, else, and elif) to control program flow.
● Compare values using relational operators.
● Understand that comparison results produce Boolean values.
● Combine multiple conditions using logical operators (and and or).
● Create interactive programs that make decisions based on user input.
Day 7: Conditional Selection
- Students will learn how Python makes decisions by using Boolean values and conditional
statements.
● Review: Data Types and Arithmetic Operators
● Data Types Quiz (Blooket)
● Introduction to the Boolean Data Type (True and False)
● Unplugged Activity: Conditions ([Link])
● What is Conditional Selection?
● Making Decisions with Everyday "If" Sentences
● Using Boolean Values with Conditional Statements
● Lesson Review and Q&A
Day 8: Relational and Logical Operators
-Students will learn how computers compare information and combine multiple conditions to
make smarter decisions using relational and logical operators.
● Review: Conditional Selection (if, else, elif)
● Introduction to Relational Operators
● Comparing Values Using Relational Operators
● Understanding Comparison Results as Boolean Values (True / False)
● Activity 1: Compare Two Numbers
● Activity 2: Age Checker Program
● Introduction to Logical Operators
● Why Do We Need Multiple Conditions?
● Real-life Example: Two Light Bulbs and Conditions
● Understanding and and or
● Connecting Logical Operators with Boolean Values
● Introduction to Input A and Input B
● Simple Concept of Logic Gates :AND Gate,OR Gate
● Activity 3: Security Door System
● Activity 4: Pet Feeding System
● Challenge Activity: Create Your Own Conditional Program
● Student Presentation
● Lesson Review and Q&A
Week 5: Loop
By the end of this week, students will be able to:
● Understand why programmers use lists to store and organize multiple values.
● Create and use Python lists to manage collections of data.
● Understand list syntax and store different types of data in a list.
● Use list functions such as append(), insert(), remove(), pop(), and len().
● Understand why loops are needed to repeat instructions efficiently.
● Identify the two main types of loops: counted loops and conditional loops.
● Use Python's for loop to repeat instructions a specific number of times.
● Understand the purpose of the range() function and control the number of iterations.
Day 9: Introduction to Lists
-Students will learn how to store multiple values in a single variable using Python lists.
● Review: Logical Operator
● Why Do We Need Lists with real life examples?
● What is a List?
● Understanding List Syntax
● Different Data Types in a List
● Accessing List Items Using Indexes
● Positive Indexes
● Adding Items to a List (append())
● Inserting Items into a List (insert())
● Removing Items from a List (remove())
● Removing Items by Index (pop())
● Finding the Length of a List (len())
● Displaying List Items
● Activity: Create a Favourite Things List
● Activity: Ordering food project
● Lesson Review and Q&A
Day 10: Introduction to Loops
-Students will learn why loops are important and use Python's for loop to repeat instructions
efficiently.
● Review: Lists
● Why Do We Need Loops?
● Activity: Writing the Same Sentence on Paper
● What is a Loop?
● Two Types of Loops
● Introduction to the for Loop
● Number of Iterations
● Understanding the range() Function
● Displaying Numbers with a for Loop
● Activity: Multiplication Table
● Challenge Activity: Create Your Own Repetition Program
● Lesson Review and Q&A
Week 6 : Creating Catch the Apple game
By the end of the week, students will be able to:
● Understand the difference between counted loops (for) and conditional loops (while).
● Use Python's while loop to repeat instructions while a condition is true.
● Understand how infinite loops happen and how to stop loops using break.
● Combine lists and loops to process and display multiple items efficiently.
● Apply loops, variables, conditions, and user input to create interactive programs.
● Use variables to manage game information such as scores and game states.
● Use random values to create dynamic game behavior.
● Create and customize a simple Catch the Apple game using programming concepts
learned throughout the course.
Day 11: Conditional Loops (while Loop)
-Students will learn how to repeat instructions until a condition changes by using Python's while
loop.
● Review: What is a Loop?
● Review: Two Types of Loops
● Why Do We Need a Conditional Loop?
● Unplugged Activity: "Clap Your Hands"
● Unplugged Activity: "Spin Until I Say Stop"
● Real-World Examples of Conditional Loops
● Introduction to the while Loop
● Understanding while Loop Syntax
● Stopping a Loop with break
● Activity 1: Security Key (Password Checker)
● Activity 2: Guess the Number Game
● Using Lists with Loops
● Looping Through Every Item in a List
● Activity 3: Favourite Movies
● Challenge Activity: Create Your Own while Loop Program
● Lesson Review and Q&A
Day 12: Build Your First Game – Catch the Apple
-Students will apply variables, conditional statements, loops, and random values to build a
simple "Catch the Apple" game using PictoBlox.
● Review: Lists and Python Fundamentals
● Understanding the Goal of the Game
● Setting Up the Stage and Sprites
● Adding the Basket and Apple Sprites
● Positioning Sprites
● Making the Basket Move with the Keyboard
● Using a Forever Loop
● Making the Apple Fall
● Resetting the Apple to the Top
● Using Random Positions for the Apple
● Detecting Collisions Between the Basket and Apple
● Increasing and displaying the Score
● Adding Sound Effects
● Adjusting the Falling Speed
● Activity: Customize Your Game
Week 7: Functions
By the end of the week, students will be able to:
● Understand why functions are useful in programming.
● Explain how functions help programmers organize and reuse code.
● Create and call their own Python functions.
● Understand the difference between built-in functions and user-defined functions.
● Use parameters to pass information into functions.
● Return values from functions and use the results in programs.
Day 13: Introduction to Python Functions
-Students will learn how functions work and how they help programmers organize instructions
into reusable blocks of code.
● Review: Variables, Conditions, and Loops
● Why Do We Need Functions?
● Real-Life Examples of Functions
● What is a Function?
● Benefits of Using Functions
● Introduction to Built-in Functions
● Understanding Function Syntax:
● Calling a Function
● Executing Instructions Inside a Function
● Activity 1: Create a Greeting Function
● Create a function that displays a greeting message.
● Activity 2: Create a Favourite Things Function
● Challenge Activity: Create your own function to perform a simple task.
● Lesson Review and Q&A
Day 14: Functions with Parameters and Return Values
-Students will learn how to make functions more flexible by using parameters and returning
values.
● Review: Creating and Calling Functions
● Why Do Functions Need Parameters?
● Introduction to Parameters and Arguments
● Passing information into functions
● Using variables as arguments
● Return functions and variables
● Activity 1: Personalized Greeting Program
● Activity 2: Simple Calculator Using Functions
● Activity: Creating Functions for the catch the apple game.
● Lesson Review and Q&A
Week 8: Introduction to Pygame
By the end of this week, students will be able to:
● Understand what Pygame is and why it is used for game development.
● Create a basic Pygame project and game window.
● Understand the coordinate system used in computer games.
● Draw simple shapes and colors using Pygame.
● Understand the purpose of the game loop.
● Update and refresh the game screen continuously.
● Create simple game scenes using basic Pygame commands.
Day 15: Getting Started with Pygame
-Students will learn the basic structure of Pygame programs and create their first game window.
● Review: Python Fundamentals
● Introduction to Pygame
● What is Pygame?
● Why Do We Use Pygame for Game Development?
● Examples of Games Created with Pygame
● Installing and Setting Up Pygame
● Importing the Pygame Library
● Understanding the Basic Structure of a Pygame Program
● Creating a Game Window
● Setting Screen Width and Height
● Setting Game Window Title
● Running the First Pygame Program
● Understanding Screen Coordinates
● X Position and Y Position
● The Origin Point (0,0)
● Activity: Create Your First Pygame Window
● Challenge Activity: Design Your Own Game Window
● Lesson Review and Q&A
Day 16: Drawing and Game Loop
-Students will learn how games display objects continuously by using drawing commands and
the game loop.
● Review: Pygame Window and Coordinates
● What is Drawing in Games?
● Introduction to RGB Colors
● Creating Colors Using RGB Values
● Drawing Basic Shapes:Rectangle, Circle,Line
● Using Shapes as Game Objects
● Introduction to the Game Loop
● Why Do Games Need Loops?
● Understanding Continuous Game Updates
● Creating a Running Game Loop
● Updating the Screen
● Refreshing the Display
● Understanding Frames in Games
● Activity: Create a Simple Game Scene
● Challenge Activity: Create Your Own Game Background
● Lesson Review and Q&A
Week 9: Working with Sprites
By the end of this week, students will be able to:
● Understand what sprites are and why they are important in game development.
● Create and manage game objects using Pygame sprites.
● Load and display images in a game.
● Control game objects using keyboard input.
● Move sprites smoothly using variables.
● Understand how the game loop updates object positions.
● Keep player objects inside the game window.
Day 17: Introduction to Sprites
-Students will learn how sprites are used to create and manage objects in a game.
● Review: Pygame Window, Coordinates, and Game Loop
● What is a Sprite?
● Why Do We Need Sprites in Games?
● Understanding Sprite Objects
● Creating a Sprite Class
● Understanding Sprite Properties:Image
● ,Rectangle,Position
● Loading Images into Pygame
● Displaying Images on the Screen
● Changing Sprite Position Using Coordinates
● Updating Sprite Position in the Game Loop
● Activity: Create a Player Sprite
● Activity:Create a simple game scene with multiple sprites.
● Lesson Review and Q&A
Day 18: Player Movement and Keyboard Control
-Students will learn how to control sprites using keyboard input and create interactive game
objects.
● Review: Sprites and Game Loop
● Introduction to User Input in Games
● Keyboard Events in Pygame
● Using Variables for Movement Speed
● Changing Sprite Position During the Game Loop
● Understanding Continuous Movement
● Keeping Player Inside the Screen Boundary
● Activity: Create a Controllable Player Character
● Lesson Review and Q&A
Week 10: Game Objects and Collision Detection
By the end of this week, students will be able to:
● Understand how games use multiple objects and sprites together.
● Create and manage multiple sprites in a game.
● Understand how collision detection works in games.
● Detect when two game objects touch each other.
● Use conditions to create game interactions.
● Create simple game mechanics such as collecting items and increasing scores.
Day 19: Creating Multiple Game Objects
-Students will learn how to create, organize, and manage different objects in a game.
● Review: Sprites and Player Movement
● Why Do Games Need Multiple Objects?
● Creating Different Sprite Objects
● Understanding Sprite Groups
● Why Do We Use Sprite Groups?
● Adding Sprites into Groups
● Updating Multiple Sprites Together
● Activity: Create a Simple Game Scene
● Challenge Activity:Create your own mini game scene with different sprites.
● Lesson Review and Q&A
Day 20: Collision Detection and Game Interaction
-Students will learn how games detect contact between objects and create actions based on
collisions.
● Review: Sprites and Sprite Groups
● What is Collision Detection?
● Real-Life Examples of Collision
● Detecting Collision Between Sprites
● Using Collision Detection Functions
● Connecting Collision with Conditions
● Creating Game Actions After Collision
● Activity 1: Collecting Coins Game
● Activity 2: Player and Enemy Collision
● Challenge Activity: Create your own collision-based game feature.
● Lesson Review and Q&A
Week 11: Creating a Shooting Game
By the end of this week, students will be able to:
● Understand how shooting games work using sprites and game logic.
● Create bullets and control their movement.
● Create enemy objects and manage multiple enemies.
● Use loops to update game objects continuously.
● Use collision detection to create shooting interactions.
● Create a basic shooting game with a player, enemies, and bullets.
Day 21: Creating Bullets and Shooting System
-Students will learn how to create bullets and build a shooting system for a game.
● Game Objects in a Shooting Game:Player,Bullet,Enemy
● Creating a Bullet Sprite
● Creating Bullet Movement
● Moving Bullets Across the Screen
● Using Variables to Control Bullet Speed
● Creating Keyboard Controls for Shooting
● Understanding Shooting Events
● Activity: Create a Simple Shooting System
● Lesson Review and Q&A
Day 22: Creating Enemies and Enemy Movement
-Students will learn how to create enemies and add movement to make a shooting game more
interesting.
● Review: Bullets and Sprite Groups
● Creating Enemy Sprites
● Adding Multiple Enemies
● Using Sprite Groups for Enemies
● Placing Enemies at Different Positions
● Making Enemies Move
● Creating Different Enemy Movement Patterns
● Using Variables for Enemy Speed
● Activity: Create an Enemy Attack System
● Lesson Review and Q&A