Skip to main content

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.

37.4–41.1 hours
of estimated class time
48.9–53.3 periods
at 50 min, including 2 multi-day projects at 2 periods each
16.3–17.8 weeks
at 3 periods per week

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.

Module 1 · Learning to Drive

12 lessons · 540–640 min · 10.8–12.8 periods + 1 multi-day project · 22 activities to hand in · 57 knowledge checks

LessonTimeActivities students turn inChecks
Lesson 0 · What Is a Robot?30–40 min
  • Is this a robot?
5
Lesson 1 · Meet the XRP50–60 min
  • Upload and run it
  • Make it your own
8
Lesson 2 · Drawing Shapes50–60 min
  • Build up to a square
  • A shorter way to say "four times"
  • Now try a triangle
  • Make other shapes
6
Lesson 3 · Introduction to Functions50–60 min
  • Build reusable shapes
3
Lesson 4 · Parameters & Customization50–60 min
  • Make your functions flexible
5
Lesson 5 · The Polygon Function50–60 min
  • Test it like an engineer
  • Explore
3
Lesson 6 · Differential Drive & Motor Control50–60 min
  • Drive a figure-eight
8
Lesson 7 · Blockly Challenges & Synthesis60+ min
  • Challenge Precision navigation
  • Challenge Creative design
3
Lesson 8 · Hello, Python50–60 min
  • Write your first Python program
  • Read it, then fix it
5
Lesson 9 · Python Loops50–60 min
  • Draw a nest of squares
5
Lesson 10 · Python Functions50–60 min
  • Build a shape library
4
Lesson 11 · Python Final ProjectMulti-day
  • Pick your project
  • Plan before you code
  • Build, test, and polish
  • Show it and reflect
2

Module 2 · Line Tracking

10 lessons · 480–540 min · 9.6–10.8 periods + 1 multi-day project · 10 activities to hand in · 32 knowledge checks

LessonTimeActivities students turn inChecks
Lesson 1 · The Reflectance Sensor50–60 min
  • Calibrate and pick a threshold
3
Lesson 2 · Drive to the Edge and Stop50–60 min
  • Try it and extend it
3
Lesson 3 · Bounce Driving50–60 min
  • Bounce and extend
3
Lesson 4 · Random Turns50–60 min
  • Experiment
3
Lesson 5 · Proportional Control60+ min
  • Tuning Kp
4
Lesson 6 · Two-Sensor Line Following50–60 min
  • Follow the circle, then compare
3
Lesson 7 · Detecting Intersections50–60 min
  • Follow, reverse, and count
3
Lesson 8 · Introduction to Classes60+ min4
Lesson 9 · Object Composition60 min
  • Three lines to drive a course
4
Lesson 10 · Module 2 Final ProjectMulti-day
  • Plan before you build
  • Test, tune, present
2

Module 3 · Grid Driving

4 lessons · 170–210 min · 3.4–4.2 periods · 6 activities to hand in · 11 knowledge checks

LessonTimeActivities students turn inChecks
Lesson 1 · Introduction to the Grid40–50 min
  • Reach it, then turn
3
Lesson 2 · Driving Multiple Intersections40–50 min
  • Package it as a helper
3
Lesson 3 · Turning on the Grid40–50 min
  • Plan on paper first
3
Lesson 4 · Module 3 Final Project50–60 min
  • Test one side at a time
  • Extend it
  • Reflect
2

Module 4 · Manhattan Navigation

10 lessons · 530–545 min · 10.6–10.9 periods · 12 activities to hand in · 38 knowledge checks

LessonTimeActivities students turn inChecks
Module Overview · The Big Picture15–20 min1
Lesson 1 · Coordinates on the Grid40–50 min
  • Map it
4
Lesson 2 · Tuples50 min
  • Manhattan distance in code
4
Lesson 3 · Lists50 min
  • Build a path in a loop
4
Lesson 4 · The Manhattan Algorithm60 min
  • Trace it on paper first
  • Code the algorithm
  • The edge cases
5
Lesson 5 · Implementing the Manhattan Class60 min
  • Build the Manhattan class
4
Lesson 6 · Testing Without a Robot50 min
  • A reusable `run_test()` helper
  • Debug a failing test
4
Lesson 7 · The Challenge of Turning55 min
  • Putting it together: `drive_path`
4
Lesson 8 · Implementing the Navigator Class60 min
  • Trace it, then integrate
4
Lesson 9 · Module 4 Final Project90 min
  • Test in three levels
4

Module 5 · Dijkstra's Algorithm

9 lessons · 525–530 min · 10.5–10.6 periods · 11 activities to hand in · 43 knowledge checks

LessonTimeActivities students turn inChecks
Lesson 1 · The Grid as a Graph45–50 min
  • Finding a path around
5
Lesson 2 · Dictionaries50 min
  • Build the graph automatically
4
Lesson 3 · Dijkstra's Algorithm — The Concept55 min
  • Trace it: 3×3 with (1,1) blocked
5
Lesson 4 · The Dijkstra Class55 min
  • Build the Dijkstra class
5
Lesson 5 · Implementing compute_path()60 min
  • Implement compute_path
5
Lesson 6 · Testing and Swapping55 min
  • Test the obstacle case
  • The two-line swap
4
Lesson 7 · Obstacle Detection with the Rangefinder60 min
  • Test in simulation first
5
Lesson 8 · Building Experience55 min
  • Measure the improvement
  • Persistence with a file
5
Lesson 9 · Capstone Project90+ min
  • Test in simulation, then drive
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.