2D Math + Python Foundations
This year uses a FIRST LEGO Challenge robot car on a map as a living 2D world. Students learn matrix representations of vectors, 2D representations of linear equations, and foundational Python by writing function calls, loops, and if/else logic with the FIRST LEGO Python library.
We ground every concept in navigation: points, vectors, and equations become decisions a robot makes as it drives across a 2D map.
Spring 2026
Course focus
Key themes
- 2D space, points, vectors, and matrix representations
- 2D representations of linear equations on a map
- Python fundamentals: functions, loops, and conditionals
Hands-on moments
- Program a FIRST LEGO Challenge robot car to navigate a 2D map.
- Use the FIRST LEGO Python library and function calls to control movement.
- Practice loops and if/else logic to make navigation reliable.
Outcomes
- Explain vectors and linear equations with 2D map examples.
- Write beginner Python programs using functions, loops, and conditionals.
- Connect robot movement to 2D math representations.
Week-by-week plan
Subject to change based on cohort pace and feedback.
- 01
Course kickoff and 2D maps
MathReading MaterialCoordinate plane, points, and map orientation.
- 02
Points and distance
MathReinforce coordinate plane concepts from Week 01 and explore distance between two points.
Computer SetupInstall LEGO Education SPIKE App (https://education.lego.com/en-us/downloads/spike-app/software/) or verify browser access to https://spike.legoeducation.com/.
PythonLEGO Spike Prime IDE setup and driving SPIKE PRIME using helper functions with the FIRST LEGO Python library.
RobotReading MaterialDrive calibration and distance moves with move_for_degrees to reach map checkpoints.
- 03
Linear equations and coordinate systems
MathReading MaterialUse systems of two-variable linear equations to understand non-perpendicular ("wacky") coordinate systems and convert between them.
- 04
Vectors in AI, 3D Space, and Python Basics
MathWord embeddings (king - man + woman = queen), 3D coordinate systems, and locating points in 3D space.
PythonReading MaterialGoogle Colab setup, variable types (int, float, str, list), and NumPy matrix multiplication.
- 05
Vector addition and scalar multiplication
MathAdding vectors together and multiplying vectors by scalars for movement planning.
PythonReading MaterialIntroduction to for loops for iterating through vector components.
- 06
What is intelligence?
MathIntroduction to input and output.
AIWhat makes a task "intelligent"?
AIReading MaterialGoogle Teachable Machine: training a dogs vs. cats classifier.
- 07
Finding the best line, one step at a time
MathAbsolute error, slope of the error, and the gradient descent update rule.
PythonLists, for loops, functions, and matplotlib scatter/line plots for gradient descent.
AIGradient descent: start with a random guess and improve step by step.
AIReading MaterialLearning rate: controlling the size of each update step.
- 08
Review Week — Connecting the Dots
MathComprehensive review of coordinate systems, vectors, and their applications.
PythonReview of variables, lists, for loops, functions, and matplotlib plotting.
AIConnecting all concepts: from abstraction to gradient descent.
AIReading MaterialComprehensive challenge: implement linear regression from scratch.
- 09
Bringing Python skills to LEGO Spike
MathExterior angles of regular polygons (360 ÷ n).
PythonConfig blocks, custom functions (drive_straight, turn), for loops for repeated patterns, and mission lists for multi-step routes.
RobotReading MaterialDrive polygons, tune config variables, and navigate a multi-waypoint course.
- 10
Gear Ratios and Function Composition
MathGear ratio formula: output = input × (driver teeth ÷ driven teeth).
PythonGear-ratio functions (small_drive_mid, mid_drive_small, small_drive_big), function composition for multi-axis mechanisms, and good vs. bad function names.
RobotReading MaterialModel a three-axis claw using chained gear-ratio functions.
- 11
Python Fundamentals Test
MathNo new math this week — test week.
PythonReading Material28 questions covering built-in functions, variable types, for loops, if/else, and user-defined functions.
- 12
What Is an Object, Anyway?
MathNo new math this week — programming focus.
PythonReading MaterialClasses, objects, attributes, dot operator, and writing functions that operate on objects.
- 13
Methods That Do Things
MathNo new math this week — programming focus.
PythonReading MaterialInstance methods (def inside a class), using if/else inside methods, and __str__ for readable objects.
- 14
Teams, Lists, and Loops / Design Your Own Class
MathNo new math this week — programming focus.
PythonReading MaterialLists of objects, for/while loops over teams, a two-team battle simulation, debugging common errors, and designing a custom class from scratch.
- 15
Inheritance — The Family Tree
MathNo new math this week — programming focus.
PythonReading MaterialParent and child classes, the class Child(Parent) syntax, inherited methods, adding child-only methods, and drawing an inheritance tree.
- 16
Method Overriding and super()
MathNo new math this week — programming focus.
PythonReading MaterialOverriding parent methods, super().__init__() for extra attributes, method resolution order, and the pattern behind every PyTorch neural network.