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]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_Math Difficulty | Embed URL |
---|---|---|---|---|
Cloudy With a Chance of Thunder | Draw interactive shapes and compute their area dynamically | Easy | Easy | |
Off-Roading | 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] |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_Math Difficulty | Embed URL |
---|---|---|---|---|
Landscape | Draw a simple landscape | Easy | Easy | |
Googly Eyes | Eyes that always follow your mouse | 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 | Eyes that always follow your mouse | 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]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍] |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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)
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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) |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍] |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍]
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 🐍] |
‣
Project Name | Description | Legacy_Code Difficulty | Legacy_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 |