# General Syllabus

The Strive Core Curriculum teaches students to think deeply and creatively about tough problems. Strive students apply the mathematics they’re learning in school to write computer programs that help them to visualize their ideas and debug their own thinking.

This is Strive Learning Map, used to track a student’s progress through the Strive curriculum. The Curriculum will be customised to the student’s pace and preferences, and will progress through 7 different levels, but may skip a few levels if they have already mastered them. Each level takes between 5-15 hours and gets more challenging as the levels progress.

# Unit 1. Variables

Variables keep track of quantities that change such as position, size, and colour.
🚀
Rocket - Mouse Movement [🐍 Python]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
Cloudy With a Chance of Thunder
Draw interactive shapes and compute their area dynamically
Easy
Easy
🛻
Draw shapes to form a pickup truck, and use variables to give it movement and a shake
Easy
Easy
🚀
Rocket - Mouse Movement Foundations
Build a rocket that moves along with the mouse
Easy
Easy
👹
Avatar - Foundations
Animate your own game avatar
Easy
Easy
💠
Area Calculator (Foundations)
Draw interactive shapes and compute their area dynamically
Easy
Easy
🔲
Sliding Square
Draw interactive shapes and compute their area dynamically
Easy
Easy
🔘
Exploding Star
Draw interactive shapes and compute their area dynamically
Easy
Easy
🚀
Rocket - Mouse Movement
Build a rocket that moves along with the mouse
Easy
Easy
🌄
Sunrise
Simulate a sunrise over the mountains
Easy
Easy
👹
Avatar [Python 🐍]
Animate your own game avatar
Easy
Easy
🌙
Moonlight Meteor
Simulate a meteor as it streaks across the night sky
Easy
Easy
💠
Area Calculator
Draw interactive shapes and compute their area dynamically
Easy
Easy
Analog Clock [Python 🐍]
Create a colorful analog clock with ratios and rotation
Medium
Medium
🚀
Rocket - Mouse Movement [🐍 Python]
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🐎
Landscape
Draw a simple landscape
Easy
Easy
🐎
Googly Eyes
Easy
Medium
🐎
Pyramid
A 3D Illusion Pyramid on the 2D Plane
Easy
Easy
🐎
Charlotte's Web
Create an interactive spider web!
Medium
Easy
🐎
Area Calculator
Recreate the classic Strive area calculator as a challenge
Medium
🧠
Moonlight Meteor
Create a beautiful background and a shooting star to test your knowledge of variables
🌙
Moonlight Meteor - Keystone Challenge
Animate the nighttime sky
Easy
Easy
👀
Googly Eyes - Keystone Challenge
Easy
Medium
🔳
The Area Calculator - Keystone Challenge
Calculating the areas of various shapes
Medium
Medium
🕸️
Charlotte's Web - Keystone Challenge
Create an interactive spider web!
Medium
Easy
🐪
Pyramid - Keystone Challenge
A 3D Illusion Pyramid on the 2D Plane
Easy
Easy
🌆
Landscape - Keystone Challenge
Draw a simple landscape
Easy
Easy

# Unit 2. Functions

Functions make it easy to bundle related instructions together and to map inputs to outputs.
📐
Pythagoras' Proof [🐍 Python]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🪀
Basic Introduction to Event Functions
A very simple project to show beginners the absolute basics of what a function is
Easy
Easy
🌳
Function tree 🐍
See the power of writing a function by calling it from within itself
Medium
Medium
🖥️
Retro Screensaver using Shapes 🐍
A cool retro screen saver that has many shapes and Perlin noise
Easy
Easy
🎄
Christmas Tree Using Functions 🐍
A decorated Christmas tree created using functions
Easy
Easy
🚀
Strive - Rocket Blast Off 🐍
Create Rocket that blasts off into space.
Easy
Easy
👹
Avatar Studio [Python 🐍]
Build a simple studio for Designing Game Avatars
Easy
Easy
📈
Function Viewer [🐍 Python]
Create a simple graphing calculator by defining functions
Easy
Easy
📐
Pythagoras' Proof [🐍 Python]
🏘️
City Generator [🐍 Python]
Make a lovely city with houses, hospitals, buildings, and streets
Easy
Easy
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🖌️
Scribble Machine
Make a multicolor scribbling machine
Easy
Easy
🌈
Rainbow Machine
Create sketch that can draw a rainbow!
Easy
Medium
Digital Clock
A digital clock showing the current time
Medium
Medium

# Unit 3. Logic

Boolean algebra is the logical foundation for computers, and we use it to make decisions using conditional statements.
🐚
Spirals - Rotation [Python 🐍]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🐎
Pong
Create the classic “Pong” game using inequalities
Medium
Easy
🧑‍🏫
3D Solar System
Take a look at our Solar System in 3 dimensions. Create our Sun and the 8 planets that orbit around it.
Difficult
Medium
🎨
Art Sketchpad - Group class
Apply geometry and uniform probability distributions to make art
Easy
Easy
〰️
🆕 Braided Trigonometry [🐍 Python]
Create a Braids and use them to form a heart shape, using Trigonometry, analytically!
Medium
Medium
Painting Mashup [🐍 Python]
Conditional statements to use inequalities to make a color mix-match.
Easy
Easy
🛰️
🆕[3D] Working Satellite [🐍 Python]
Move and rotate the satellite & control its body and wings
Medium
Medium
🛰️
🆕[3D] Satellite [🐍 Python]
Use solid shapes to draw a simple satellite in 3D. It has a body, solar panels, dish, and antennas
Medium
Easy
🆕[3D] Trapped Ball in a Crazy Box [🐍 Python]
Make a Ball that bounces off the internal walls of a crazy flashing Box!
Medium
Medium
🆕[3D] Strive Dice [🐍 Python]
Create a rotating 3D Dice with different coloured sides
Medium
Medium
🔘
🆕 Region Determination [🐍 Python]
To understand how equations determine a curve, while inequalities determine an infinite set of curves or, a region.
Medium
Medium
🎨
Art Sketchpad Trial class [Python 🐍]
Apply geometry and uniform probability distributions to make art
Easy
Easy
🎭
Zork [🐍 Python]
Classic text-based adventure awaits
Easy
Easy
📏
Straight Lines [🐍Python]2
Build an interactive tool to study systems of linear equations
Medium
Easy
Painting Mashup
Conditional statements to use inequalities to make a color mix-match.
Easy
Easy
🚀
🆕 Working Rocket [🐍 Python]
Extend the previously created rocket to play sounds and to move by keyboard in the background of randomly shining stars
Difficult
Easy
📐
Perigal's Proof of Pythagoras’ Theorem [🐍 Python]
Construct a visual proof of Pythagoras’ theorem using quadrilaterals
Difficult
Difficult
📐
Properties of Triangles [Python 🐍]
Draw a triangle with given 3 vertices and discover its properties
Medium
Medium
🎨
Art Sketchpad [Python 🐍]
Apply geometry and uniform probability distributions to make art
Easy
Easy
🏓
Pong [Python 🐍]
Create the classic “Pong” game using inequalities
Medium
Easy
🌐
Cartesian to Polar (🐍 Python)
Move a point on the plane with your mouse, calculate its polar coordinates from rectangular coordinates
Medium
Difficult
🥎
Bouncing Ball [Python 🐍]
Create a colorful ball that bounces off the edges of the canvas
Easy
Easy
🐚
Spirals - Trigonometry [Python 🐍]
Create a beautiful spiral pattern based on simple rules
Easy
Easy
🐚
Spirals - Rotation [Python 🐍]
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🎨
Painting Mashup
Pointillism? Abstraction? How about both!?
Easy
Easy
🧙
Catch the Snitch!
Hone your Quidditch skills with a little practice catching the Golden Snitch
Easy
Easy
Square Fill
Expanding squares that fill the canvas
Medium
Easy

# Unit 4. Loops

Loops make it easy to repeat instructions according to set conditions.
🎲
Estimating PI - Monte Carlo Method (🐍 Python)

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🎥
Pixelated Face Reveal 🐍
A nice demonstration of using the Webcam to affect pixels to reveal your face!
Medium
Medium
🆕 Numbers’ Circle [Python 🐍]
This module teaches the fundamental idea of modular arithmetic. It relates remainders to number circles. The goal is to understand that in modular arithmetic, we are dealing with a different number system, where equivalence relation is not as usual, and
Medium
Medium
🏹
🆕 The Quadratic Function [🐍Python]
Learn about the Quadratic Equation and the quadratic function, how the graph is manipulated by the constants, and see the theme of Analytical Geometry.
Medium
Medium
Estimating Pi - Greek Polygons Method [Python 🐍]
Inscribe a circle by a polygon and inscribe a polygon by a circle to get an upper and lower bound on the value of PI
Medium
Medium
💥
Colliding Blocks Making Pi (Python 🐍)
See the digits of pi emerge when two blocks collide
Easy
Medium
Multiplication Circles [Python 🐍]
Create a beautiful visualization using modular arithmetic
Easy
Medium
♟️
Chessboard [Python 🐍]
Create an interactive colored chessboard
Easy
Easy
☘️
Minecraft Blocks [Python 🐍]
Craft the soil and grass of Minecraft blocks
Medium
Easy
🌼
Mandala Art [Python 🐍]
Make Mandala art with symmetry
Easy
Easy
🎲
Estimating PI - Monte Carlo Method (🐍 Python)
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🐎
Color Wave
Send waves of color across a grid
Medium
Easy
🧠
Ferris Wheel
Animate a ferris wheel spinning at night
Medium
Medium
🧠
Rotating Polygons
A mesmerizing visual of rotating of polygons
Easy
Medium
🧠
Flower
A beautiful flower using loops
Easy
Easy

# Unit 5. Types and Objects

Many applied Maths problems involve bundling data together and presenting it to users, often through text.
☀️
Solar System [Python 🐍]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
☀️
Solar System [Python 🐍] temp
Parameterize the elliptical paths of planets in its path and set them in motion
Easy
Easy
😀
Emoji Invasion temp
Escape the emoji invasion, and set a highscore
Easy
Easy
🏎️
🆕 Driving a Car [🐍 Python] temp
Creates a car object as a dictionary of dynamical variables, and plays around with the car’s speed, acceleration and braking, an orientation without introducing vectors.
Medium
Medium
♻️
🆕 Rigid Transformation [🐍 Python] temp
Learn all the rigid transformations through p5 transformations function.
Easy
Medium
🎲
Chaos Game (Python 🐍) temp
Create a beautiful, chaotic pattern from a few simple rules
Medium
Medium
🐎
Straight Lines - Reflecting a Point (Python 🐍) temp
Reflect a point from a line on the cartesian plane
Medium
Difficult
♻️
🆕 Rigid Transformation [🐍 Python]
Learn all the rigid transformations through p5 transformations function.
Easy
Medium
🏎️
🆕 Driving a Car [🐍 Python]
Creates a car object as a dictionary of dynamical variables, and plays around with the car’s speed, acceleration and braking, an orientation without introducing vectors.
Medium
Medium
😀
Emoji Invasion
Escape the emoji invasion, and set a highscore
Easy
Easy
🎲
Chaos Game (Python 🐍)
Create a beautiful, chaotic pattern from a few simple rules
Medium
Medium
📈
Straight Lines - Reflecting a Point (Python 🐍)
Reflect a point from a line on the cartesian plane
Medium
Difficult
☀️
Solar System [Python 🐍]
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🧠
Surf's Up!
Surf's up on a wave you generate
Easy
Easy
🧠
Fish Family
Simulate a family of fish swimming around the ocean
Easy
Easy
🐎
Solar System
A mini solar system visualisation
Easy
Easy

# Unit 6. Lists

Lists enable us to keep related items in order, from high scores in a game to scientific observations.
🌧️
Rainstorm [🐍 Python]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
📷
Video Processing Magic temp
Use your webcam to capture live video and modify pixels to make a ball move on the screen.
Medium
Medium
🔫
3D shooter 🐍 [3D] temp
Have a blast shooting down these “Angry birds” in this simple but awesome 3D shooter.
Difficult
Difficult
🆕 Constrained Balls [🐍 Python] temp
Create a set of balls that are constrained by each other, and constrained by a bigger circle. Otherwise, they move freely!
Difficult
Difficult
Flappy Bird Foundations
Create the famous game Flappy Bird
Medium
Medium
🆕 Constrained Balls [🐍 Python]
Create a set of balls that are constrained by each other, and constrained by a bigger circle. Otherwise, they move freely!
Difficult
Difficult
🔫
3D shooter 🐍 [3D]
Have a blast shooting down these “Angry birds” in this simple but awesome 3D shooter.
Difficult
Difficult
📷
Video Processing Magic
Use your webcam to capture live video and modify pixels to make a ball move on the screen.
Medium
Medium
🐍
Snake with Grid [🐍 Python]
Build the classic arcade game Snake!
Medium
Easy
🏐
Many Bouncing Balls with Lists [Python 🐍]
Create a set of bouncing balls
Medium
Easy
🎹
Sine Wave Synth [🐍Python]
Visualize the waves that create the sounds we hear when playing an instrument!
Medium
Easy
🌧️
Rainstorm [🐍 Python]
📈
Graphing Calculator (Python 🐍)
Create several points on a graph and apply functions on them to change their current position
Easy
Easy
Flappy Bird [Python 🐍]
Create the famous game Flappy Bird
Medium
Medium
💽
Caesar Cipher [Python 🐍]
Apply modular arithmetic to build a Caesar Cipher
Medium
Easy
🧱
Block Breaker with Lists [🐍 Python]
Reconstruct a classic arcade game with inequalities
Medium
Easy
🎙️
Morse Code [Python 🐍]
Encode and decode messages from Morse to English and vice versa
Medium
Medium
🔥
Firestorm [Python 🐍]
Simulate fire using a particle system
Easy
Easy
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🧠
Ecosystem Tracker
Create an ecosystem and keep track of its members as they come and go
Medium
Easy
🐎
Sine Wave Synth
Jam on your own software instrument
Difficult
Medium
🧠
Snowy Day
A beautiful scene showcasing snowfall
Easy
Easy

# Unit 7. Classes

Classes are the blueprints for objects that bundle data together with the functions that operate on that data.
🏐
Bouncing Balls with Classes [Python 🐍]

Projects

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🕊️
Single Boid [Python 🐍]
Create one boid, control its speed and orientation with mouse and change its color based on its position
Medium
Medium
🪐
Asteroids Hunter [🐍 Python]
Build the classic arcade game Asteroids!
Difficult
Easy
🏒
Air Hockey [🐍 Python]
Build a classic arcade game with vectors and inequalities
Medium
Medium
🔲
Conway's Game of Life [🐍 Python]
Create a two dimensional word with tiny cells and code the rule that governs the game of Life!
Medium
Medium
🌌
Spiral Galaxy [🐍 Python]
Simulate a galaxy by parameterizing the elliptical paths of its stars.
Medium
Medium
🔫
Typing Shooter [🐍 Python]
Build a game to train typing skills
Difficult
Easy
🧱
`Block Breaker with Classes [🐍 Python]
Reconstruct a retro arcade game
Medium
Easy
👾
Space Defenders [🐍 Python]
Team up to defend the earth from invaders!
Medium
Medium
🕊️
Boids [Python 🐍]
Simulate the flocking behavior of boids
Difficult
Medium
🏐
Bouncing Balls with Classes [Python 🐍]
Keystones

### 🎮Internal Lessons (DB)

Project NameDescriptionLegacy_Code DifficultyLegacy_Math Difficulty Embed URL
🧒
My Avatar
Build yourself with simple shapes
Medium
Easy
🐢
Turtles All the Way Down
Build an assistant to help you paint the canvas
Medium
Medium
🔫
Typing Shooter
Shoot those alphabets before they fall.
Medium
Easy