Pacing guide
Everything below is generated from the lessons themselves — the time estimate in each lesson header, the activities students hand in, and the knowledge checks. Change a lesson and this page follows on the next build, so it can't quietly go stale.
Set your period length and how often the class meets, and the totals re-count. Print the page for a planning sheet with one module per sheet.
45 lessons · 61 activities students hand in · 181 knowledge checks. Times are the estimates written into each lesson header, so treat them as a plan, not a stopwatch — a class that discusses well will run long on the kickoff and short on the syntax lessons. 12 lessons · 540–640 min · 10.8–12.8 periods + 1 multi-day project · 22 activities to hand in · 57 knowledge checks 10 lessons · 480–540 min · 9.6–10.8 periods + 1 multi-day project · 10 activities to hand in · 32 knowledge checks 4 lessons · 170–210 min · 3.4–4.2 periods · 6 activities to hand in · 11 knowledge checks 10 lessons · 530–545 min · 10.6–10.9 periods · 12 activities to hand in · 38 knowledge checks 9 lessons · 525–530 min · 10.5–10.6 periods · 11 activities to hand in · 43 knowledge checksModule 1 · Learning to Drive
Lesson Time Activities students turn in Checks Lesson 0 · What Is a Robot? 30–40 min 5 Lesson 1 · Meet the XRP 50–60 min 8 Lesson 2 · Drawing Shapes 50–60 min 6 Lesson 3 · Introduction to Functions 50–60 min 3 Lesson 4 · Parameters & Customization 50–60 min 5 Lesson 5 · The Polygon Function 50–60 min 3 Lesson 6 · Differential Drive & Motor Control 50–60 min 8 Lesson 7 · Blockly Challenges & Synthesis 60+ min 3 Lesson 8 · Hello, Python 50–60 min 5 Lesson 9 · Python Loops 50–60 min 5 Lesson 10 · Python Functions 50–60 min 4 Lesson 11 · Python Final Project Multi-day 2 Module 2 · Line Tracking
Lesson Time Activities students turn in Checks Lesson 1 · The Reflectance Sensor 50–60 min 3 Lesson 2 · Drive to the Edge and Stop 50–60 min 3 Lesson 3 · Bounce Driving 50–60 min 3 Lesson 4 · Random Turns 50–60 min 3 Lesson 5 · Proportional Control 60+ min 4 Lesson 6 · Two-Sensor Line Following 50–60 min 3 Lesson 7 · Detecting Intersections 50–60 min 3 Lesson 8 · Introduction to Classes 60+ min — 4 Lesson 9 · Object Composition 60 min 4 Lesson 10 · Module 2 Final Project Multi-day 2 Module 3 · Grid Driving
Lesson Time Activities students turn in Checks Lesson 1 · Introduction to the Grid 40–50 min 3 Lesson 2 · Driving Multiple Intersections 40–50 min 3 Lesson 3 · Turning on the Grid 40–50 min 3 Lesson 4 · Module 3 Final Project 50–60 min 2 Module 4 · Manhattan Navigation
Lesson Time Activities students turn in Checks Module Overview · The Big Picture 15–20 min — 1 Lesson 1 · Coordinates on the Grid 40–50 min 4 Lesson 2 · Tuples 50 min 4 Lesson 3 · Lists 50 min 4 Lesson 4 · The Manhattan Algorithm 60 min 5 Lesson 5 · Implementing the Manhattan Class 60 min 4 Lesson 6 · Testing Without a Robot 50 min 4 Lesson 7 · The Challenge of Turning 55 min 4 Lesson 8 · Implementing the Navigator Class 60 min 4 Lesson 9 · Module 4 Final Project 90 min 4 Module 5 · Dijkstra's Algorithm
Lesson Time Activities students turn in Checks Lesson 1 · The Grid as a Graph 45–50 min 5 Lesson 2 · Dictionaries 50 min 4 Lesson 3 · Dijkstra's Algorithm — The Concept 55 min 5 Lesson 4 · The Dijkstra Class 55 min 5 Lesson 5 · Implementing compute_path() 60 min 5 Lesson 6 · Testing and Swapping 55 min 4 Lesson 7 · Obstacle Detection with the Rangefinder 60 min 5 Lesson 8 · Building Experience 55 min 5 Lesson 9 · Capstone Project 90+ min 5
Before you start the course
Time is only half of planning. The other half — the same list that appears on How this course works, kept in one file so the two can't disagree:
Robots. One XRP per two students works; one each is better from Module 2 on, where line tracking is fiddly and students need their own runs. Charge them the night before — a low battery presents as a dozen unrelated-looking bugs, and it kills Bluetooth before it kills anything else.
Computers. Chrome or Edge, and nothing to install: the whole course runs in XRP Code in the browser, Blockly first and then Python files in the same editor. Safari and Firefox load the page but can't connect to a robot.
USB cables. One per robot, and they must be data cables — charge-only cables are the single most common first-day failure. Every robot also needs one USB connection before it can go wireless, so plan that pass before day one.
Floor space. Open floor for Modules 1 and 2, with a taped line course for the line-tracking work. Modules 3 through 5 need a taped grid, which is worth laying down once and leaving — three modules use it.
Tape. Matte black electrical or gaffer tape on a light floor gives the reflectance sensor the contrast it needs. Glossy tape reflects and reads light.
A place to keep them. Robots survive better in numbered bins than in a pile, and numbering pays off again when a room full of XRPs shows up in the Bluetooth list — label each robot with its ID the first time you connect it.
Where the natural pauses are
The phase chips in Module 1 mark real transitions: Blockly foundation through Lesson 5, driving challenges in 6–7, then Python from Lesson 8. Each is a sensible place to stop, assess, and pick up after a break. Modules 3, 4 and 5 build one continuous system — Manhattan navigation then Dijkstra's algorithm on the same grid — so they're better run without a long gap between them.
If you're short on time, Module 3 is the most compressible: four lessons that establish the grid, which Modules 4 and 5 then use.