If you only remember one thing from this page: the bots are a vehicle for the math, not the other way around. Students who leave with a working bot but no math means the program failed.
- It's a math program in a robotics costume. Proportional reasoning, slope, distance, quadratic, percent change, residuals, systems of inequalities. The 16-day arc walks students from "formulas are recipes" to "formulas are predictions I revise from data."
- One driving question stays on the wall for 16 days: "How can you use data, equations, and code to build a robot athlete that wins on math, not luck?"
- The four Program Goals — Transfer · Ownership · Failure · Teach — are evidence statements, not slogans. Goal 4 (a stranger completes 3 mini-challenges after a single student explanation) is the summative on Day 16. See the Toolkit Guide.
- The math destination lives in the Math Pre-Brief — read it once before Week 1. Five mathematical relationships, four understandings to leave with.
You can't run this program from cold. Three hours of preparation in the days before Week 1 saves the program from the most common failure modes.
- Read the four walkthroughs in order: Math Pre-Brief → Progression in Context → Evidence in Context → Resources in Context. The order matters — destination, journey, what to look for, what to reach for.
- Memorize the Loss Recovery Protocol word-for-word. You'll use it from Day 7 on. The script only works if you can say it calmly under pressure without improvising.
- Calculate all four stat formulas for every point value 1–8 by hand, in under 10 seconds each. Motor% = Speed × 5 · Charge% = Power² · decay rate = (20−E) × 1.5 · turn ratio = 0.2 + T × 0.02. If you hesitate when a student asks mid-match, you become unreliable at the moment that matters most.
- Lay out the room. Reserve wall space for: Driving Question · Commissioner's Rules · Bot Names · Leaderboard · Rivalry Cards. Tape the field down with black vinyl or black duct tape.
- Confirm your site's data infrastructure works — open the Spreadsheets Reference and check that you can see your per-site sheets. If you can't, escalate now, not on Day 1.
The math changes day to day. The structure of the day does not. The predictability is the point — it lowers cognitive load so students spend it on the math, not on figuring out what's next.
| # | Block | Min | What it is |
|---|---|---|---|
| 01 | Hook | 25 |
Physical or kinesthetic. No formula yet. Primes the concept. |
| 02 | Challenge Block | 55 |
Core math instruction. Formula derivation. Error analysis. |
| 03 | Snack / Lunch | 20 / 60 |
Off-schedule. Don't talk about math. 20 min snack at Crosstown (8:00–12:00); 60 min lunch at NYC sites (10:00–3:00). |
| 04 | Match · Build · Make | 90 |
Program and test, OR Predict → 3 matches → Loss Recovery. The competitive heart. |
| 05 | Open Lab | 30 |
Two self-selected tracks. Student-directed time. |
| 06 | ENDS | 10 |
One reflection prompt. Every student. Every day. |
Match days are when the modeling cycle becomes visible. These three rules are how a match stops being drama and starts being data. Hold them like they're load-bearing — because they are.
No bot moves until every team has a written, formula-cited prediction.
The rule that turns a match from drama into data. Predict before the bots leave the box. If a team can't state their formula + input + predicted output, they're not ready to run.
Residual after every match.
Predicted − actual = a signed number. When the gap is > 20%, the team writes a one-sentence cause naming a specific model parameter. The residual is the math operation that makes Goal 3 (productive failure) real.
Loss Recovery for every losing team. Every time.
Not just the visibly upset ones. Especially the team that's "fine." Name feeling → 30s silence → dashboard one stat → write the next change in pen. The team doesn't code for the next match until the plan is on paper.
These aren't optional context. Make sure every student can state them by the end of Week 1. The first is the math; the other two are how the game actually works.
- The Budget equation:
S + E + T + P = 20. The=means balance, not arithmetic. Every point given to one stat is a point taken from another. This frame drives every allocation for four weeks. - Own goals count. A ball crossing either goal line scores for that net's attacker. (Surface this on Day 6 before Match Day 1 — otherwise the first own-goal is a long argument instead of a learning moment.) See the Match Rules page.
- Robot Off the Field: facilitator places the bot at the nearest edge, at the center line, facing inward. Referee presses Button B to try to reset the match loop.
What students produce today is what you teach tomorrow. The Evidence in Context walkthrough goes deeper; this is the short list of what to read every evening.
| Evidence | When | What "good" looks like |
|---|---|---|
| Exit ticket | Every Challenge Block | Formula + calculation + plain-language sentence. Push for 80% with all three; if below, hold next AM warm-up for re-teach. |
| Dashboard loadout entry | Days 1–5 | Sums to 20. Data Owner named. Three-part gap sentence with a specific number. |
| ENDS journal | Every day | Specific observation + number + hypothesis. Unique per student, not copied from a teammate. |
| Match prediction | Every match · D 06+ | Formula-backed number, written before the bot moves. No prediction → match doesn't start. |
| Match residual | After every match | Predicted − actual with a single-variable hypothesis when gap > 20%. |
| Cold Recall Check | Day 10 · 10 min | 5 questions, individual, no notes. Q4 (Endurance decay) is the diagnostic — anyone who misses it gets the Linear Decay concept page assigned in Open Lab. |
| Commissioner proposals | Day 12 | 2 cited dashboard numbers + percent-change math + impact on last-place team + self-check. |
| Visitor Completion Tracker | Day 16 | Did the visitor finish all 3 mini-challenges first-try after a single student explanation? Goal 4 summative — binary observable, not a judgment call. |
Every pilot site has a code that drives data routing. You don't edit URLs or sheets — but you do need to know what's connected to what, and where your data lives.
- Your site code:
NY1 = Gotham Tech·NY2 = Claremont·NY3 = South Bronx Community Charter·TN = Tennessee. The code shows up in dashboard URLs ascohortTag=NY1etc. If a URL is missing the tag, the data won't route. - Five spreadsheets to know exist (all linked from the Spreadsheets Reference — gated):
- • Loadouts — shared across all sites. Where stat-card lesson submissions land.
- • Dashboard (per-site) — where match data lands.
- • Pre-Task Diagnostic (per-state) — Day 1 baseline.
- • Post-Task Diagnostic (per-state) — Day 15 growth measure.
- • What-If Analysis — shared across all sites.
- If data isn't landing, it's not your problem to fix. Note what's missing, when, and from whom — and escalate. Don't try to edit a sheet ID, redeploy anything, or change a URL.
The student-facing site lives at the same URL minus /teachers. Share the student URL with students; never share teachers.html. Everything below is gated by the same password.
/teachers.htmland everything linked from it- Quick Cards (the pink pills in Teacher Schedule)
- Facilitator scripts (Google Docs)
- Student Work Exemplars (the purple Exemplar pills)
- Match Simulator
- Launch Strategies + 10-Strategy guide
- Worksheets & Answer Keys (Drive folder — gated)
- Spreadsheets Reference
- This page
/today.html·/schedule.html·/day.html- Worksheets without answer keys
- The student day view
- Lesson pages (the interactive HTMLs)
- Math concept pages (
/activities/math/) - The dashboard view (without facilitator URL params)
- Match Rules
- The launch sequences students program
/teachers.html, students shouldn't see it. The password is the only thing standing between facilitator-only content and the open web — protect it the same way you'd protect an answer key.
The hardest part of running this program is what you don't say. These are four moments where over-helping breaks the learning.
Each of these has burned a program before. They're worth memorizing — not just reading.
/teachers.html password gate.
/teachers.html URL with students. The student-facing site lives at the same URL minus /teachers. Use the right one.
Read these every time you prep. They're the kind of thing that's correct in this cohort but might be stale by the next one — and the kind of thing that's hardest to catch by re-reading the curriculum.
- Follow-Through formula changed
2026-05-30fromP × 80to120 + (Power × 35). The new ms values run from 155 (P=1) to 540 (P=12). The lesson pages were updated to match — if you find any doc that still saysPower × 80, it's stale and worth flagging. - Underdog Mechanic (Day 11): the last-place team gets 2 bonus stat points, so their four stats sum to 22, not 20. Announce publicly; check the math.
- The
cohortTagin dashboard URLs determines which site's sheet receives data. If a teacher emails you a dashboard URL missing the tag, data won't route — check this before Day 6. - Power² sweet spot is currently unconfirmed — the old "P9 overshoot" rule was tied to the previous Power × 80 formula. Frame it as a Season 1 question students can investigate, not a known answer.
These are the moments where you stop trying and ping the developer. They're all infrastructure problems, not pedagogy problems — different toolset, different person.
- A submission says "Sent" but no row appears in the expected sheet.
- The diagnostic dashboard shows empty data after the post-task, even though students submitted.
- Apps Script returns an error in the browser console when a student submits.
- A page that worked yesterday is now 404.
- You want to add a new pilot site (e.g., NY4) — requires code changes in the API + new env vars + new sheet setup.
- You think a formula is wrong on a student-facing page (like the Follow-Through bug that landed wrong values in the Loadouts sheet for months).
config.js · redeploy anything · change a sheet ID · touch an Apps Script · run git push. If someone is asking you to, push back — those are developer tasks, not facilitator tasks. Your job is the room, the math, and the kids.