Teacher Reference · Summer Sparks 2026
Student Work Exemplars
Approaching · Meets · Exceeds, day by day
Velocity Arena · 16-day curriculum
How to use this guide
Each activity shows three levels of student work — Approaching, Meets, and Exceeds. The right column gives you the teacher look-for: the specific thinking or calculation that distinguishes each level.
Week-end Benchmark Snapshots summarize what a typical student should be able to do at the close of each week. Use these to calibrate your sense of the class before the next week begins.
These are artificial examples — not transcribed from real students. They are intentionally imperfect at the lower levels. A student at the Approaching level is not a bad student; they are a student in the middle of learning.
| Approaching | Student attempts the task but makes a procedural, conceptual, or reasoning error. The error is specific and addressable — not a random guess. This is the most common state for students encountering a new concept. | |
| Meets | Student applies the formula or concept correctly and shows work. The calculation is accurate. The explanation connects the number to bot behavior in a way that is correct, though often brief or literal. | |
| Exceeds | Student goes beyond correct calculation: they notice a pattern, make a strategic connection, anticipate a consequence, or explain the trade-off. The math is correct and the thinking is transferable. | |
The Teacher Look-For column (italicized, right) names the specific thinking pattern to listen for. It is written as a brief description of what distinguishes that level — useful during circulating, during discussion, and when reviewing written work.
These exemplars cover the primary written activities — the ones where students produce work you can read and respond to. Hands-on match events and Open Lab time are not included; use the Loss-Recovery Protocol and Leaderboard Observation instead.
Week 1 · Pre-Season
Stat Boot Camp (Days 1–4)
Students are building intuition for each stat formula before they are connected to match outcomes. The goal is calculation fluency and the first link between formula output and physical behavior.
Part 3 — Final Thinking: decision + written sentence
| Approaching | Student writes: "I will put 5 points into Speed. Motor Power = 5 × 100 = 500%" Forgets to divide by 20. Gets a value over 100%, doesn't flag it as wrong. |
Student forgets /20 step. Ask: "Can motor power be over 100%? What does that tell you about step 2?" |
| Meets | Student writes: "I will put 6 into Speed. Motor Power = (6 × 100) / 20 = 30%. I chose 6 because it gives me a decent speed and leaves 14 points for other stats." | Correct arithmetic with a brief strategic reason. Doesn't yet connect Speed choice to the other stats. |
| Exceeds | Student writes: "I put 8 into Speed: (8 × 100) / 20 = 40%. Every extra point adds exactly 5% motor power, so there's no reason to go above what I need. I'll keep 4 for Endurance so my bot doesn't die in minute 3." | Names the unit rate (5% per point), uses it to reason about trade-offs before knowing the other formulas. |
First Bot Drive — Doubling reflection sentence
| Approaching | Student writes: "When we doubled Speed, distance also doubled. It works."(Makes a claim without citing measured data.) | Student asserts "it worked" without using a distance ratio. Prompt: "What two numbers from your table support that?" |
| Meets | Student writes: "Speed A = 2 → 35.88 cm. Speed B = 4 → 88.9 cm. We doubled Speed, and distance almost doubled but not exactly — the ratio was 88.9 / 35.88 = 2.48." | Uses the real measured values and computes the ratio. Notices it's larger than 2 but doesn't explain why. |
| Exceeds | Student writes: "Speed A = 2 → 35.88 cm, Speed B = 4 → 88.9 cm. Distance ratio = 88.9 / 35.88 ≈ 2.48. Our formula says doubling Speed exactly doubles power (linear). The bigger-than-2 ratio probably means friction affects low Speed more than high Speed — at Speed 2 the bot barely overcomes it, but at Speed 4 it's already past that threshold. The formula is still linear; real robots just have a floor." | Uses real data, calculates ratio ≈ 2.48, and offers a physical explanation (friction threshold at low speeds) that goes beyond the formula. |
Endurance — table calculation + graph + comparison sentence
| Approaching | Endurance = 4 table (student's version): t=1: P(1) = 100 − (20−4) × 1.5 × 1 = 100 − 24 = 76 ✓ t=2: P(2) = 100 − 16 × 2 = 68 (forgets the ×1.5 in subsequent rows) t=3: P(3) = 100 − 16 × 3 = 52 Graph shape drawn but uses incorrect values; slope appears less steep than it should. |
Applies the formula correctly for t=1 but drops the ×1.5 factor in later rows. Common error — ask them to show the full parentheses each time. |
| Meets | Endurance = 4 table: Decay rate = (20−4) × 1.5 = 24% per min t=1: 76%, t=2: 52%, t=3: 28%, t=4: 4%, t ≈ 4.17: 0% Comparison: "Endurance 4 runs out at 4 min 10 sec. The team with Endurance 6 lasts to 5 min 17 sec. Their bot will still be at full roam when ours is nearly stopped." |
All five rows correct. Comparison cites zero-crossing time for both teams. Solid but doesn't probe why the difference compounds or mention the 20% floor rule. |
| Exceeds | Endurance = 4 table: (all correct, as above) Comparison + insight: "Our decay rate is 24%/min. The E=6 team decays at 21%/min. The difference is 3% per minute. But the real question isn't zero-crossing — it's floor-crossing: when does each bot actually hit 20% power during the 3-minute match? With Speed 6 (motor power = 30%), the floor kicks in when P(t) = 66.7%, so 100 − 24t = 66.7 → t ≈ 1.4 minutes. The E=6 bot hits it at t ≈ 1.6 minutes. That's only 12 extra seconds at full speed. Each additional Endurance point buys about 6 seconds more before the floor. Whether that's worth the budget is what Season 1 will test." |
Shifts from zero-crossing to floor-crossing — identifying that the relevant threshold is 20% (the match floor), not 0%. Calculates floor-crossing time for both bots and converts the Endurance gap to seconds of full-speed difference. This is the right framing: "how much full-speed time does each extra Endurance point buy?" Note for teacher: Season 1 data shows E3–5 is optimal in budget-constrained tests — neither extreme dominates. The student's "Season 1 will test" hedge is exactly right; do not validate extreme allocations in either direction. |
Walk the Plane — distance formula calculation on coordinate pair
| Approaching | Student calculates d from (1,1) to (4,5): d = √(4+5) = √9 = 3 (adds differences instead of squaring separately) |
Adds the differences before squaring. Classic error — ask: "What happens to the differences before you add them?" |
| Meets | Student shows: x₂ − x₁ = 4 − 1 = 3, squared = 9 y₂ − y₁ = 5 − 1 = 4, squared = 16 d = √(9 + 16) = √25 = 5 grid units |
Shows each step correctly with differences labeled. Gets √25 = 5. |
| Exceeds | Correct calculation (above), then adds: "This is a 3–4–5 right triangle. I recognized it before finishing the formula. That means anytime I see those differences, I don't need a calculator — it's always 5. The formula confirms what the triangle already showed." |
Recognizes the 3–4–5 Pythagorean triple, connecting the formula to a known pattern. |
Power — table + ratio contrast + budget constraint calculation
| Approaching | Student on Power ratio question: Power 2: Charge% = 4% | Power 4: Charge% = 16% "The ratio is 16 / 4 = 4. That's the same as doubling."(Confuses quadrupling with doubling.) |
Calculates the ratio correctly but misinterprets "quadrupling" as "doubling." Ask them to compare the Speed and Power tables side by side. |
| Meets | Student writes: Power 2: 4% | Power 4: 16% → ratio = 4× Power 4: 16% | Power 8: 64% → ratio = 4× again "Doubling Power quadruples charge speed. Speed is linear (×2 gives ×2). Power is not." |
States the quadratic relationship accurately with both ratio examples. Contrast with Speed formula is explicit. |
| Exceeds | Student writes (same calculations), then: "This means going from P=7 to P=8 adds 15 percentage points (64−49), but from P=1 to P=2 adds only 3 points. The same 1-point increase isn't worth the same thing at every level. I should pick Power carefully — higher values cost more budget but give more per point at the high end." |
Analyzes marginal gains — the extra output per point varies by position on the curve, a calculus-adjacent idea surfaced naturally. |
End-of-Week 1 Benchmark
| By end of Day 4, students should be able to… | Approaching | Meets | Exceeds |
| — Apply one or two formulas correctly with reference card; needs prompting without it — Calculate motor power for Speed correctly, but can't explain why the formula works or adapt it if the budget were different from 20 — Identify which stat a formula belongs to, but struggles to connect output values to bot behavior |
— Apply all four stat formulas without a reference card — Calculate decay values at any t using the Endurance formula— Calculate distance between two grid points using the formula — State that Speed is linear and Power is quadratic, with one example each |
— Explain what "linear" and "quadratic" mean in terms of bot behavior (not just as formula types) — Use unit rate reasoning to compare stat efficiency — Name a specific trade-off between any two stats without prompting |
Week 2 · Season 1
First Matches and Data Collection (Days 5–8)
Students move from calculating in isolation to using math as decision-making tools. The data dashboard becomes central. Key written outputs: interleaved problem set concept tags, launch approach justification, Endurance equation, and post-match revision entries.
Concept tag column — identifying math type before calculating
| Approaching | Sample problem: Endurance = 6, t = 4. Find P(4). Student calculates: P(4) = 100 − (20−6) × 1.5 × 4 = 100 − 84 = 16% ✓ Concept tag written: "Proportional reasoning"(Picks a concept from the list but assigns it to the wrong formula type — Endurance decays, it's not proportional. May be guessing or pattern-matching by memory rather than reasoning about the math.) |
Selects a concept from the list but misassigns it (e.g., tags Endurance as "proportional reasoning"). The list is visible, so the error is in matching — not recall. Ask: "What does proportional mean? Does power drop the same way Speed does?" Use the Day 2 graph to bridge to linear decay. |
| Meets | Same problem: P(4) = 16% ✓ Concept tag: "Linear decay" "It's linear because the power drops by the same amount every minute (21% each time)." |
Uses the concept vocabulary correctly and explains why. Makes the connection to slope. |
| Exceeds | Same problem: P(4) = 16% ✓ Concept tag: "Linear decay" "It drops 21% every minute, which means at t=4 it should be 100 − (4 × 21) = 16%. That checks out. But t=4 is past the end of a 3-minute match. The real question is when this E=6 bot hits the 20% floor during the match. With Speed 7 (motor power = 35%): floor kicks in when 35 × factor < 20 → factor < 0.571 → endurance% < 57 → 100 − 21t < 57 → t > 2.04 min. This bot hits minimum speed at 2:03. My E=4 bot hits it at about 1:41. The difference is 22 seconds of full-speed play. I'd allocate E=3–4: enough to stay at full speed through the first two minutes, without spending budget that could go to Speed or Power." |
Uses floor-crossing calculation to evaluate the marginal value of Endurance points — moving beyond "more decay is bad" to "how much full-speed time does each point buy?" The 22-second figure is specific and testable. Arrives at a principled allocation range (E3–4) from formula evidence rather than intuition. Note for teacher: Endurance has the flattest signal of all four stats (1.5× range, slight peak at E3–5). Neither high nor low Endurance clearly dominates. The student's reasoning is correct — accept any argument that arrives at "middle values are sufficient" from a floor-time calculation. |
Approach angle — justification sentence (must cite a number)
| Approaching | Student writes: "We will approach from the left side because it feels like the right angle."(No numerical justification — violates the stated standard.) | No numerical support. This response violates the stated standard — hold to it: "You need one distance value or stat number. Which one will you use?" |
| Meets | Student writes: "We start at corner (0, 0). Ball is at (4, 2). Distance = √(4² + 2²) = √(16+4) = √20 ≈ 4.47 grid units. At Speed 7 → motor power = 35% → we estimate about 3 seconds to reach the ball. We'll turn left, move forward to get level with the ball, then turn right and drive straight at it to kick. That way we hit it straight-on even though we start in the corner." | Correctly uses a valid corner, computes distance, and describes a realistic multi-segment path (move, turn, approach straight). Connects path planning to stat choice. |
| Exceeds | Student writes: "We start at corner (0, 4). Ball is at (4, 2). We plan a two-segment path: drive diagonally down toward (4,2), then straighten for the final approach so the kick is head-on. Total distance ≈ √(4² + 2²) = √20 ≈ 4.47 units. Starting at (0,4) instead of (0,0) means we approach the ball from above, which lines up our scoop to deflect it right toward G = (8,2). We need one turn mid-path, so we kept Turning at 3." | Plans a two-segment path from a chosen corner, justifies the corner choice based on final approach angle to goal, and links the planned turn to their Turning stat allocation. |
Endurance Decay — equation in slope-intercept form
| Approaching | Student writes: "P(t) = 100 − 24t" (for Endurance = 4) Equation is correct. Student labels slope as "24" without a sign. When asked what the slope means: "it's how fast it goes down." |
Gets the equation right but doesn't name the slope as negative or tie it to "rate of change." Ask: "What does the slope tell you is happening to the bot?" |
| Meets | Student writes: "P(t) = 100 − 24t, where r = 24% per minute. Slope = −24 (the bot loses 24% each minute). y-intercept = 100 (starts at full power). Zero at t = 100 / 24 ≈ 4.17 min — the bot has about 4 minutes at any power." |
Correctly identifies slope, y-intercept, and zero-crossing. Connects each to bot behavior. |
| Exceeds | Student writes: "P(t) = 100 − 24t. The slope is −24. In slope-intercept terms: for every 1 minute that passes, my bot loses 24% power. That's the meaning of slope as rate of change: −24 percent per minute. x-intercept: 100 = 24t → t = 4.17 min. A match is 3 minutes. At t=3, my bot is at 28% power. That means my late-game offensive ability is reduced to 28% of my charge speed — I should plan to score early." |
Applies the equation to match planning: calculates power at t=3 (a specific match time) and draws a strategic inference. |
Pre-match prediction — match log entry (goals + reasoning)
| Approaching | Student writes in match log: "Predicted goals: 2"(No calculation or reasoning. Just a number with no justification.) | Prediction with no basis. Ask: "Which stat number would help you estimate this? What does motor power tell you?" |
| Meets | Student writes: "Predicted goals: 1. Our motor power is 35% (Speed 7). That means we should reach the ball quickly on most runs. A 3-minute match gives maybe 4–5 runs. If we score on about a quarter of them, that's 1 goal. I'm predicting 1 to be safe." | Grounds the prediction in their own motor power calculation and estimates from a realistic match scenario. No opponent data needed — reasoning stays within what they know. |
| Exceeds | Student writes: "Predicted goals: 2. Our motor power is 35% (Speed 7) — strong approach. Our Endurance at t=3 min: P(3) = 100 − (20−4) × 1.5 × 3 = 28% — we slow down late. Early in the match we'll be fast; late we'll be sluggish. I expect 2 goals early, maybe 0 late. Best case 2 goals, worst case 1. I'll say 2." | Uses two of their own stats (Speed and Endurance) to model early-game vs. late-game performance, then commits to a range. No opponent comparison — all inference from their own bot profile. |
Post-match — data dashboard revision entry (when prediction is >20% off)
| Approaching | Student writes: "We predicted 2 goals but scored 0. We need to be faster."(Identifies a problem but doesn't locate it in a specific stat or formula.) | Locates the gap emotionally ("we need to be faster") without connecting to a stat value. Redirect to the dashboard: "What number in your log is most different from your prediction?" |
| Meets | Student writes: "We predicted 2 goals, scored 0. Residual = 2. Looking at the data: our motor power was 35%, but we didn't reach the ball first in any run. I think our Turning is too high — we took curved paths and lost time. I'd lower Turning from 7 to 4." | Identifies the gap correctly, locates it in a specific stat (Turning), and proposes a change. The revision is plausible. |
| Exceeds | Student writes: "Predicted 2, scored 0. Residual = 2 goals. The model missed this. Their Speed was 8 (40% motor power) — we had Speed 7 (35%). That 5-point difference in motor power may not seem big, but they consistently reached the ball 0.4–0.6 seconds before us. Our model only compared our speed to the average, not to this specific opponent's speed. Revision: drop Speed to 6, add to Power. If we can't get there first, the charge needs to be stronger when we do arrive." | Quantifies the speed difference (5 percentage points), estimates its match impact, and makes a strategic reallocation that addresses root cause. |
End-of-Week 2 Benchmark
| By end of Day 8, students should be able to… | Approaching | Meets | Exceeds |
| — Fill in the match log after reminders — Apply most formulas correctly; still needs reference card for Endurance — Make a prediction but without citing data |
— Write Endurance decay equation in slope-intercept form with correct slope labeled — Calculate distance from starting position to ball on coordinate grid — Write a pre-match prediction with at least one stat cited — Write a post-match revision entry that names a specific stat to change |
— Calculate bot power at a specific match time (e.g., t=3) and draw a strategic conclusion — Use an opponent's stat card from a Season 1 match to identify a specific relative advantage (e.g., "their Speed gives 40% motor power vs. our 35%") — Explain why a prediction was wrong by identifying the variable the model missed |
Week 3 · Season 1 Final + Commissioner + Season 2 Launch
The Rules Change (Days 9–12)
Season 1 closes with Formula Relay review, Distance Formula applied to real match data, and the Commissioner's Meeting where students use proportional scaling calculations to argue for rule changes. Season 2 launches under student-approved rules.
Challenge Block: Formula Relay (20 cards, all 6 formula types, error-sort by type) | Season 1 Match Day 3 (three matches, pre-match prediction, 20% gap rule)
| Approaching | Formula Relay — Speed card: "Speed 6 → motor power = 6 × 100 = 600." (Forgets / 20. Gets an impossible value and does not flag it.) Pre-match prediction (Match Day 3): "We will score 4 goals." (No formula cited. No prior match data used.) Actual: 2 goals. Gap = 50%. Missing-variable sentence not written. |
Formula Relay error: forgets /20 and does not catch an impossible motor power. For the match: no data basis for the prediction and the 20% gap rule is not applied. Address each separately. Formula first: "Can motor power exceed 100%?" Then the gap: "What does your dashboard say about your last two matches?" |
| Meets | Formula Relay — all 6 types correct: Speed: (6 × 100) / 20 = 30% motor power. Endurance: P(2) = 100 − (20−5) × 1.5 × 2 = 55%. Power charge: 4² = 16%. Follow-through: 120 + 4 × 35 = 260 ms. Proportional Scaling, Budget, and Distance also correct. Pre-match prediction (Match Day 3): "Season 1 average: 6 goals / 2 matches = 3 per match. Predict 3 goals." Actual: 2 goals. Gap = 33% — exceeds 20% rule. Missing-variable sentence: "I did not account for opponent Turning stat." |
All six formula types correct. Prediction uses a unit rate from prior matches. Gap check applied. Missing-variable sentence written. Does not yet use opponent Endurance data to sharpen the prediction. |
| Exceeds | Formula Relay — error-sort reflection: "I got Proportional Scaling wrong: I applied the 50% multiplier to the stat, not to the formula output. I need to calculate output first, then scale it." Labels Proportional Scaling as weakest type. Selects it as pre-match prediction focus. Pre-match prediction (Match Day 3, logged before match): "Season 1 unit rate: 6 goals / 2 matches = 3 per match. Opponent: E=8, so P(3) = 100 − (20−8)(1.5)(3) = 46% — strong late game. Our E=4: P(3) = 100 − (20−4)(1.5)(3) = 28% — we fade. Revise prediction down: 2 goals." Actual: 4 goals. Gap = 50% (>20%). Missing-variable sentence: "I underestimated how much their late-game Endurance would work against them when we pushed early." |
Identifies own weakest formula type from the error-sort. Pre-match prediction incorporates opponent Endurance decay comparison. When actual exceeds prediction by >20%, writes a specific missing-variable sentence naming the overlooked variable. |
Challenge Block: Distance Formula — tip-off A=(4,2), ball B (team-specific), goal G=(8,2); efficiency ratio + minimum-charges calc | Season 1 Final Round (dashboard complete, leaderboard final)
| Approaching | Distance Formula attempt — A=(4,2) to G=(8,2): d = √((8+4)² + (2+2)²) = √(144 + 16) = √160 ≈ 12.6 (Adds coordinates instead of subtracting. Classic error type 1.) Season 1 Final — prediction: "We will win." (No formula output or data from dashboard cited.) Dashboard not updated after match. |
Distance formula error: adds coordinates instead of subtracting. Ask: "The formula says x₂ minus x₁ — which number is x₂ and which is x₁?" Walk through the first pair together. The match prediction gap is a separate issue — address after the formula is correct. |
| Meets | Distance Formula — A=(4,2) to G=(8,2): d = √((8−4)² + (2−2)²) = √(16+0) = √16 = 4.0 units A=(4,2) to team B=(6,0): d = √((6−4)² + (0−2)²) = √(4+4) = √8 ≈ 2.83 units Efficiency ratio: goals / charges used. Calculates minimum charges needed based on Power². Season 1 Final — prediction: "Our Season 1 average is 3 goals per match. Speed 6 → 30% motor power. Predict 3 goals." Actual: 2 goals. Residual = 3 − 2 = 1. Dashboard updated. Leaderboard position recorded. |
Correct distance formula for multiple positions. Efficiency ratio calculated. Season 1 final prediction uses dashboard data. Residual recorded. Does not yet connect route distance to Season 2 reallocation logic. |
| Exceeds | Distance Formula — all three segments: A-to-B: d(A,B) = √((6−4)² + (0−2)²) = 2.83 units B-to-G: d(B,G) = √((8−6)² + (2−0)²) = 2.83 units A-to-G direct: d = 4.0 units Efficiency ratio: A-to-B-to-G = 5.66 total vs. direct = 4.0. Route is 41% longer than direct. "Each charge from B costs Power² = 16% per shot. We need 3 charges min. If we could push from a closer position, our total route distance drops and we need fewer charges. This is the argument for reallocating points to Turning in Season 2 — tighter arcs mean shorter B-to-G." Season 1 Final: Uses efficiency ratio to justify Season 2 reallocation before leaving the room. |
Computes all three route segments, compares route distance to direct distance, and uses the ratio to build a specific Season 2 argument — connecting coordinate geometry directly to the stat reallocation decision. |
Challenge Block: Proportional Scaling Phase 1 (20m) + Commissioner Proposal Prep Phase 2 (25m) | Underdog Mechanic announced | Practice Matches (no formal scoring)
| Approaching | Phase 1 — Proportional Scaling: "Speed 4 to Speed 8 is a 4-point increase." (States the raw stat change. Does not calculate formula output or compare proportionality.) Phase 2 — Commissioner Proposal draft: "No team can have Speed above 6. Team Vortex has Speed 8 which is unfair." Effect on last-place team: "It helps them."(No formula output. Effect stated but not calculated.) |
Phase 1: states the raw stat change but never runs the formula. The proposal is an opinion without math. Ask: "What does Speed 8 actually produce in terms of motor power? Show me the formula and put that number in your proposal." |
| Meets | Phase 1 — Scaling: Speed is proportional: Speed 4 → 20% motor power, Speed 6 → 30%. +50% stat, +50% output. Consistent. Power is not: Power 4 → 16% charge speed, Power 6 → 36%. +50% stat, +125% output. Non-proportional. Phase 2 — Proposal: "Speed ≤ 6." Team Vortex: Speed 8 → (8 × 100) / 20 = 40% motor power. Capped at Speed 6 → 30%. Loses 10 points. Team Static (last place, Speed 3 → 15%): rule does not change their current allocation. Effect: narrows the gap at the top. Does not directly help the bottom. |
Correctly contrasts proportional vs. non-proportional scaling in Phase 1 and uses it as proposal evidence. Effect on last-place team stated with a calculation. Does not yet express Vortex's loss as a percent change or connect the Underdog Mechanic to the rule. |
| Exceeds | Phase 1 — Scaling: (Correct proportional vs. non-proportional contrast as above) Phase 2 — Proposal: "Speed ≤ 6." Vortex loss: (30 − 40) / 40 = −25% motor power. Static opportunity: if they reallocate 3 points to Speed → Speed 6 → motor power 30% = +100% gain. The rule costs the leader 25% and opens +100% to the weakest team. "Because Speed IS proportional, the cap transfers motor power in a calculable, equitable way. The Underdog Mechanic gives Static a free reallocation — they could use it to take full advantage of this rule." Connects Phase 1 scaling result directly to the equity argument. |
Expresses both teams' changes as percent change in formula output. Shows the cap is disproportionately helpful to the weaker team. Explicitly connects the Underdog Mechanic to the proposal — the equity argument is complete. |
Challenge Block: Final Proposal Verification (Criterion 6 check) | Commissioner's Meeting: formal presentations + vote + passing rules on wall | Season 2 Allocation in MakeCode
| Approaching | Formal presentation (3 min): "Our rule is Speed ≤ 6. Team Vortex has Speed 8. That is too high and gives them an unfair advantage." (Rule stated, but no formula output cited. No effect on last-place team calculated. Does not satisfy Criterion 6: no concept type named.) Audience verification question: Passes without response to "Can anyone verify the math?" |
Presentation lacks any formula output — the rule is stated as an opinion. Does not satisfy Criterion 6 (must name at least one concept type). Two separate gaps: missing math and missing concept label. Address the formula first: "What does Speed 8 actually produce? Put that number in your first sentence." |
| Meets | Formal presentation: "Speed ≤ 6. This is a proportional scaling rule. Team Vortex: Speed 8 → 40% motor power. Capped at Speed 6 → 30%. −10 points. Team Static (last place, Speed 3 → 15%): does not change their current loadout. This narrows the gap at the top. Criterion 6: proportional scaling." Passes audience math check. Rule goes to vote. Team programs new Season 2 allocation in MakeCode before leaving. |
Presentation includes formula evidence for both teams, names the concept type (proportional scaling), and satisfies Criterion 6. Passes math verification. Programs Season 2 allocation before leaving. Does not yet quantify the change as percent change in formula output. |
| Exceeds | Formal presentation: "Speed ≤ 6. Proportional scaling rule. Vortex: 40% to 30% motor power = −25% loss. Static opportunity: free reallocation (Underdog Mechanic) to Speed 6 = +100% motor power gain. The rule costs the leader 25% and gives the bottom team a path to +100%. The math favors equity. Criterion 6: proportional scaling and unit rate — motor power is 5% per Speed point." Audience verification: "Speed 8 × 100 / 20 = 40%. Speed 6 × 100 / 20 = 30%. Difference = 10 points. Verified." Rule passes. Writes it on the wall in permanent marker. Immediately recalculates Season 2 allocation under the new cap; programs MakeCode and runs one test drive. |
Expresses both teams' changes as percent change in output. Names two concept types for Criterion 6. Passes audience verification with live calculation. Connects the Underdog Mechanic to the equity argument. Programs and test-drives the new loadout. |
End-of-Week 3 Benchmark
| By end of Day 12, students should be able to… | Approaching | Meets | Exceeds |
| — Apply at least 4 of 6 formula types correctly with a reference card (may still make proportional scaling or distance errors) — Write a Commissioner proposal with at least one formula output, even if the equity argument is missing — Apply the 20% gap rule and write a missing-variable sentence with some support |
— Apply all 6 formula types correctly: Speed, Endurance, Power (charge + follow-through), Turning, Distance, and Proportional Scaling — Write and deliver a Commissioner proposal with two formula outputs and a calculated effect on the last-place team — Name at least one concept type in the proposal (Criterion 6: proportional scaling, unit rate, ratio, slope as rate of change, or linear decay) — Apply the 20% gap rule independently: compare prediction to actual, write a specific missing-variable sentence when gap exceeds threshold — Calculate coordinate distance using d = √((x₂−x₁)² + (y₂−y₁)²) for at least two positions |
— Distinguish proportional from non-proportional scaling by calculating and comparing percent change in formula output (not just stat change) — Connect the Underdog Mechanic to the Commissioner proposal — show how the rule and the free reallocation interact to produce an equity outcome — Use efficiency ratio (route distance vs. direct distance) to build a Season 2 reallocation argument |
Week 4 · Your Win Equation + Season 2 + Community Exhibition
The Math Goes Public (Days 13–16)
Students build linear equations from match data, apply percent change to stat changes, run Season 2 under Commissioner-approved rules, and culminate with a Community Exhibition where they teach the math to visitors.
Challenge Block: Building linear equations from 2 match data points (slope, y-intercept, slope-intercept form) + residual analysis | Season 2 Match Day 1 under new Commissioner rules
| Approaching | Equation attempt: Two data points: (Speed 4, 1 win) and (Speed 7, 3 wins). Slope = (3 − 1) / (4 − 7) = 2 / −3 = −0.67 (Subtracts x-values in wrong order. Negative slope.) Writes W = −0.67S + b and stops. No y-intercept calculated. Season 2 Match Day 1 prediction: "We predict 3 wins." (No equation used. Residual not recorded.) |
Two errors: wrong subtraction order for slope (negative slope) and no residual recorded. Address slope first: "If you add a Speed point, do you expect more wins or fewer? What sign should the slope have?" Once corrected, return to the residual: "Residual = predicted minus actual — which number is which?" |
| Meets | Equation: Points (Speed 4, 1 win) and (Speed 7, 3 wins). Slope = (3 − 1) / (7 − 4) = 2/3 ≈ 0.67 wins per Speed point. Using (4,1): b = 1 − 0.67(4) = −1.67. Equation: W = 0.67S − 1.67 Equation written on whiteboard before afternoon matches. Season 2 Match Day 1 — prediction (S=8 under new rules): W = 0.67(8) − 1.67 = 3.69. Predict 3 wins. Actual: 3 wins. Residual = predicted − actual = 3.69 − 3 = 0.69. Records in dashboard. Unit rate: Season 1 wins / Speed = 4 / 6 = 0.67. "Slope and unit rate match." |
Correct slope, y-intercept, and slope-intercept form. Equation on whiteboard before afternoon. Prediction equation-based, residual recorded, unit rate matches slope. Does not yet compare residuals across ball modes. |
| Exceeds | Equation: W = 0.67S − 1.67 (correct, whiteboard before match) Season 2 Match Day 1 — two ball modes tested: Standard Mode: predicted W = 3.69, actual = 3. Residual = 0.69 (over-predicted). Chaos Mode (ping pong): predicted W = 3.69, actual = 5. Residual = −1.31 (under-predicted). "The model's error flipped sign between ball modes. Standard: I over-predict. Chaos: I under-predict. That is because Turning matters more in Chaos and my equation only uses Speed. The residuals are getting larger in Chaos Mode, not smaller. I need a separate equation for each ball mode or I need to add Turning as a second variable." |
Computes residuals across both ball modes, sees the sign flip, identifies the cause (equation is blind to ball mode), and proposes a fix — a direct setup for the percent change work on Day 14 and equation revision in Open Lab. |
Challenge Block: Percent Change Season 1 to Season 2 per stat; is percent change proportional? | Stat Auction | Season 2 Match Day 2 tests the percent-change hypothesis
| Approaching | Percent Change — Speed 6 to Speed 8: Student writes: (8 − 6) / 8 × 100 = 25% (Uses new value as denominator. Classic percent change error.) Stat Auction: Bids on Speed increase without calculating new motor power aloud. Loses tokens. Season 2 Match Day 2 prediction: "We predict 4 wins." No equation used. 20% gap rule not applied. |
Percent change error: divides by the new value. Ask: "Which number is where you started — old or new?" Once denominator is corrected, return to the match prediction: "What does your win equation predict? Show the substitution." |
| Meets | Percent Change: Speed 6→8: (8 − 6) / 6 × 100 = 33.3%. Motor power: 30% to 40% = also +33%. Consistent — Speed is proportional. Power 4→2: (2 − 4) / 4 × 100 = −50%. Charge speed: 4²=16% to 2²=4% = −75%. Not consistent — Power is non-proportional. "Speed up 33% and Power dropped 50% stat-wise, but Power output dropped 75%. We gave up more offense than the stat suggests." Season 2 Match Day 2 prediction: Uses win equation from Day 13. W = 0.67(8) − 1.67 = 3.69. Logs before match. Actual: 3 wins. Residual = 0.69. Records in dashboard. Applies 20% gap rule: within threshold. |
Percent change correct for both stats with proportional vs. non-proportional comparison. Match prediction equation-based, residual recorded, 20% gap rule applied. Does not yet use percent change to evaluate whether the stat change was worth the budget trade-off. |
| Exceeds | Percent Change: (Same calculations as Meets above) Additional insight: "Is percent change in stat always equal to percent change in output? Speed: +33% stat = +33% motor power. YES — proportional. Power: −50% stat = −75% charge speed. NO — non-proportional (quadratic). So the formula type determines whether percent change transfers equally." Stat Auction: Before bidding on Power increase, calculates: current P=2 → 4% charge speed. P=4 → 16% charge. +12 points — worth 2 tokens. Wins the bid. Season 2 Match Day 2: Tests hypothesis: "Did Power increase improve output proportionally?" Pre-match: W = 0.67(8) − 1.67 = 3.69. Actual: 4 wins. Residual = −0.31. "Model slightly under-predicted. Power increase may have contributed — but the model does not include Power. Adding Power as a variable is the next step." |
Generalizes that the formula type determines whether percent change transfers equally (proportional for Speed, non-proportional for Power). Uses that insight in the Stat Auction. Tests hypothesis in the match and proposes adding Power as a variable to the win equation. |
Hook: Bot Lore Gallery Walk (add one new sentence) | Challenge Block: Teach the Math (3 min per team, plain language) | Season 2 Match Day 3 + Prediction Market resolution | Post-Task Diagnostic (15m, parallel form of Day 1)
| Approaching | Teach the Math (3 min): "Our strategy is Speed-focused. We have a lot of motor power and reach the ball first." (Correct strategy, but no number supports it. "A lot" is not a calculation. Follow-up question "How did you get that specific number?" cannot be answered.) Season 2 Match Day 3 prediction: "We predict 3 goals." No equation cited. Ball mode not recorded with prediction. |
Good strategy identification but no number. This is the most common Teach the Math gap. Ask before they present: "What is the actual motor power output? Calculate it and put it in the first sentence." One number transforms the pitch from opinion to evidence. |
| Meets | Teach the Math (3 min): "Our strategy is Speed-dominant. Speed 8 → motor power = (8 × 100) / 20 = 40%. Our opponent has Speed 5 → 25% motor power. We have 15 percentage points more approach speed. In plain language: we reach the ball first in most approaches." Follow-up: "How did you get 40%?" → "Speed times 100 divided by 20. Eight times 100 is 800. Divided by 20 is 40." Season 2 Match Day 3: Equation-based prediction before each match. Ball mode recorded with each prediction. Prediction Market card resolved: original prediction vs. actual Season 2 win total compared. |
Cites specific motor power for both teams, names the differential, and answers the follow-up with the live calculation. Ball mode recorded with match prediction. Prediction Market card resolved. Does not yet cover all four stats or Endurance decay in the explanation. |
| Exceeds | Teach the Math (3 min): "Our strategy is Speed-Power balanced: S=7, P=5, E=4, T=4. Motor power = 35%. Charge speed = 5² = 25%. Opponent scouting: S=5, motor power = 25% — we are 10 points faster. Their P=2 gives 4% charge — we hit 21 points harder. Our Endurance: P(t) = 100 − (20−4)(1.5)t = 100 − 24t. At t=3: 28% — still functional. Theirs: P(t) = 100 − 25.5t. At t=3: 23.5%. We have approach, kick power, and late-game advantage." Follow-up: "How did you get 25 for charge speed?" → "Power squared. Five squared is 25." Prediction Market resolution: Original prediction: 6 wins in Season 2. Actual: 7 wins. "I underestimated how much the Commissioner rule would benefit us. The Speed cap hurt Vortex more than I modeled. I should have included opponent formula output in my prediction, not just my own." |
Pitches all four stats with formula outputs for both teams, answers the follow-up live on the board, and connects Endurance decay to late-game strategy. Prediction Market resolution includes a specific diagnosis of what was missing from the original model. |
Community Exhibition — explaining unit rate (goals per Speed point) to a visitor
| Approaching | Student explains: "Our unit rate is 0.5. It means for every Speed point you get 0.5 goals."(Correct definition but not connected to their actual data. Visitor cannot verify it.) | Uses unit rate vocabulary correctly but without data grounding. Any visitor who asks "where does that number come from?" will lose trust. Ask: "Can you show the division in your data log?" |
| Meets | Student explains: "We scored 3 goals in Season 1 with Speed 6. Our unit rate is 3 / 6 = 0.5 goals per Speed point. We then changed to Speed 8 in Season 2. If the rate held, we'd predict 4 goals. We got 5 — slightly better than predicted." | Calculates unit rate from actual data, makes a prediction, checks against Season 2 actual. Strong demonstration of mathematical reasoning. |
| Exceeds | Student explains: "Our Season 1 unit rate: 3 goals / Speed 6 = 0.5 goals per point. Season 2: Speed 8. Predicted: 4 goals. Actual: 5. The rate slightly improved. Here's why: in Season 2 we also increased Turning, which helped in Chaos Mode. The unit rate captures Speed's contribution but the other stats also matter — it is only one variable in our win equation. [Shows visitor the full equation on the data dashboard.] The rate tells part of the story." | Explains the unit rate, identifies its limitation (one variable among many), and connects it to the linear equation — graduate-level statistical thinking in plain language. |
End-of-Week 4 Benchmark · Program Exit
| By end of Day 16, students should be able to… | Approaching | Meets | Exceeds |
| — Apply all six formula types correctly with a reference card — Write and deliver a Commissioner proposal with at least one formula output — Build a linear equation from two data points with some support (may make slope-sign or y-intercept errors) — Explain their bot's strategy in plain language with at least one calculated number |
— Build a goals-vs-Speed linear equation from two data points: correct slope, y-intercept, and slope-intercept form — Compute residuals (predicted minus actual) and apply the 20% gap rule independently across multiple matches — Calculate percent change correctly (old value as denominator) and distinguish proportional from non-proportional stat changes — Deliver a 3-minute math explanation (Teach the Math) with at least two specific formula outputs and correct follow-up answers — Explain unit rate using their own Season 1 data and connect it to the linear equation slope — Calculate coordinate distance for at least two positions and explain what the efficiency ratio means for strategy |
— Detect that the win equation is ball-mode blind: residuals flip sign across Standard and Chaos modes, and propose a fix — Show that percent change in a stat does not always equal percent change in formula output — specifically identify Speed (proportional) vs. Power (non-proportional) as the contrast — Teach the math to a visitor or teammate covering all four stats with formula outputs, and diagnose one limitation of their own win equation |
| Stat | Formula | Type | Common Approaching Error |
|---|---|---|---|
| Speed | Motor Power = Speed × 100 / 20 |
Linear / proportional | Forgets /20. Gets >100% and doesn't flag it. |
| Power | Charge% = Power²Follow-through = 120 + Power × 35 ms |
Quadratic (charge), linear-with-intercept (follow) | Confuses "doubling Power quadruples charge" with "doubling output." |
| Endurance | P(t) = 100 − (20 − E) × 1.5 × t |
Linear decay (slope = −decay rate) | Drops ×1.5 factor after t=1. Lists slope as positive. |
| Turning | Turn Ratio = 0.2 + (T × 0.02)Arc Segments = T |
Linear-with-intercept | Confuses higher Turning with wider arcs (it's tighter arcs). |
| Budget | S + P + E + T = 20 |
Constraint equation | Solves for the fourth stat but doesn't verify the sum. |
| Distance | d = √((x₂−x₁)² + (y₂−y₁)²) |
Pythagorean theorem | Adds differences before squaring (d = √(x₂−x₁ + y₂−y₁)). |
| Percent change | % change = (new − old) / old × 100 |
Proportional reasoning | Divides by new value instead of old value. |