
Intermediate Course

Module 1: Intermediate
Block coding 1
Key concepts
-
Events
-
Keyboard and mouse interaction
-
Conditional loops
-
Nested loops
-
Sending and receiving messages
-
Fluid motion
-
Parallax scrolling
-
Local and global variables
-
Functions
-
Object cloning
​
What students will learn?
-
Build complex multi-level games
-
Use variables to keep score
-
Use cloning to create actors programmatically
-
Build algorithms using complex conditional logic
-
Understand parallelism with multiple scripts
-
Program different behaviors for different actors
-
Publish projects to the Web
-
Troubleshoot and debug programs
Level 1






Module 2: Intermediate
Block coding 2
Key concepts
-
List variables
-
Structured data
-
Loops
-
Advanced flow control
-
Physics attributes
-
Velocity
-
Impulses
-
Collisions
-
Sending and receiving messages
-
Parameters
-
Functions
-
Advanced conditional logic
-
Math
-
Boolean operators
​
What students will learn?
-
Build a complete projectile-based physics game
-
Build a complete platformer game using physics
-
Programmatically generate never-ending platforms
-
Program a hero with multiple actions and access them via keys
-
Use cloud variables and a list data structure to implement a leaderboard
-
Use variables to keep score and game speed
-
Program enemy A.I.

![]() | ![]() |
---|---|
![]() | ![]() |

Module 3: Python 1
Key concepts
-
Python syntax
-
Sequencing
-
Repetition
-
Conditional logic
-
Nested loops
-
Automation
-
Pattern recognition
-
Simple motion
-
Keyboard and mouse events
-
Pen drawing
-
Operators
-
Expressions
-
Variables
-
Turtle graphics
-
Using arrays and objects to store structured data
-
store structured data
What students will learn?
-
Learn Python syntax
-
Use conditional logic, loops, and conditional loops to solve problems
-
Create and use variables
-
Detect and handle keyboard and mouse events
-
Write and interpret Python expressions
-
Use pen drawing and Turtle graphics to draw shapes and display images
-
Detect win/loss conditions in a game
-
Implement collision detection between images
-
Use arrays, dictionaries, and objects to store structured data

![]() | ![]() |
---|---|
![]() | ![]() |
Module 4: Artificial intelligence 1
Key concepts
-
AI Basics
-
Live Video
-
Face-Tracking AI
-
Hand-Tracking AI
-
Body-Tracking AI
-
Natural Language Processing (NLP)
-
Object Classifiers
-
Machine Learning Basics
-
Simple Math
-
Sequencing
-
Conditional Logic
-
Simple Loops
-
Lists and Arrays
What students learn?
-
Build 10 fun projects
-
Use body pose tracking to make stick figures dance
-
Identify and detect objects
-
Become a DJ with hand tracking
-
Solve a mystery with NLP
-
Become a talking potato head with face tracking
Module 5: Electronics (OiviO Pi + Raspberry Pi) Level 1
1. Getting started with OiviO Pi kit and Raspberry Pi.
Objective: Familiarize students with the OiviO Pi kit components and set up the Raspberry Pi environment for coding.
Key Learning Outcomes:
-
Understand the components of the OiviO Pi Kit.
-
Set up and connect the kit to a Raspberry Pi.
-
Run basic Python code on the Raspberry Pi.
-
Understanding of GPIO pins and how to control external components.
-
Basic Python syntax for controlling hardware.
-
How to use loops and delays to create sequences.
2. Controlling LEDs with Python
Objective: Learn how to control multiple LEDs using Python.
Key Learning Outcomes:
-
Use Python to control GPIO pins.
-
Program LEDs to blink in different patterns.
-
Understand basic concepts of timing and loops in programming.
3. Working with Sensors – Passive Buzzer & LDR Sensor
Objective: Learn how to interact with sensors using Python to create sound and detect light.
Key Learning Outcomes:
-
Understand how to use sensors with Raspberry Pi.
-
Use Python to control a buzzer and an LDR sensor.
-
Apply conditionals in Python to control real-world actions.
4. Exploring the Button Matrix
Objective: Learn how to use the button matrix to detect input and control LEDs or other components.
Key Learning Outcomes:
-
Understand how a button matrix works with GPIO pins.
-
Detect and respond to button presses using Python.
-
Create interactive systems where inputs (button presses) control outputs (LEDs, buzzer).
5. Motion Sensors & Displays – Create a Security System
Objective: Build a simple security system using the motion sensor, LEDs, and the LCD display.
Key Learning Outcomes:
-
Understand how motion sensors work and interact with Raspberry Pi.
-
Use an LCD display to show information.
-
Build a simple security system using multiple components.
6. 7-Segment Display and Time Display
Objective: Use the 4-digit 7-segment display to show time and countdowns.
Key Learning Outcomes:
-
Introduction to I2C communication.
-
Displaying numbers and text on hardware components.
-
Building practical time-based applications with countdown timers.
7. LED Matrix and Displaying Animations
Objective: Learn how to display text and animations on the 8x8 LED matrix.
Key Learning Outcomes:
-
How to use Python to control an LED matrix.
-
Displaying custom messages and animations.
-
Introduction to handling multiple display elements in real-time.
8. Sound Sensor and Interactive LED Display
Objective: Use the sound sensor to trigger actions, such as lighting up LEDs or creating a visual response based on sound intensity.
Key Learning Outcomes:
-
How to read analog input from sensors and interpret sound data.
-
Controlling RGB LEDs using Python and the WS2812b library.
-
Creating interactive projects based on environmental input (sound).
9. Vibration Motor and Feedback Systems
Objective: Learn how to use the vibration motor to provide physical feedback in response to certain events or triggers.
Key Learning Outcomes:
-
How to control physical components like motors for haptic feedback.
-
Creating interactive applications that combine input (buttons) and output (vibration).
-
Understanding how feedback systems work in real-world devices (e.g., phones, game controllers).
10. LCD1602 and Displaying Sensor Data
Objective: Use the LCD1602 display to show real-time data from sensors or provide user information.
Key Learning Outcomes:
-
How to control an LCD screen to display text and numbers.
-
Reading sensor data and displaying it in real-time.
-
Understanding how I2C communication works in hardware projects.
11. WS2812b LED and Custom Animations
Objective: Create custom animations using the WS2812b RGB LEDs and learn how to control individual LEDs in a strip.
Key Learning Outcomes:
-
Understanding how to control addressable LEDs.
-
Creating and customizing animations using code.
-
Learning about color theory and how RGB values translate into different colors.
12. Multi-Component Project – Smart Home Prototype
Objective: Combine multiple components like sensors, motors, and displays to create a "Smart Home" prototype.
Key Learning Outcomes
-
Combining multiple components into a single project.
-
How to coordinate inputs and outputs to build interactive systems.
-
Learning to prototype real-world applications like security systems.
​
and more...


