Skip to content

Roadmap

How to Use This Roadmap

This is a week-by-week plan for getting your programming team competition-ready in 8–10 weeks. It’s built around the FRC build season timeline — kickoff in early January, first competition 6–8 weeks later.

Adapt it to your team’s schedule. If you meet twice a week, you can move faster. If you meet once a week, double the timelines. The milestones are what matter, not the exact week numbers.


Week 1: Setup and Orientation

Do: Units 0–1 (Git setup, project structure, robot lifecycle, open & build)

DayWhat to DoTime
Meeting 1Lesson 0.1: Install Git, clone the repo, make a test commit45 min
Meeting 2Lesson 1.1: Navigate the project structure, find key files30 min
Meeting 2Lesson 1.2: Robot lifecycle + Activity 1.3: Open & build the project30 min

✅ Week 1 Milestone: Every programmer has the project cloned, building, and can navigate to any file in src/main/java/frc/robot/.


Week 2: Core Flow — Subsystems, Commands, Tracing

Do: Unit 2 (Subsystems, commands, RobotContainer, trace a button, trace a sensor, autonomous intro)

DayWhat to DoTime
Meeting 1Lesson 2.1: Subsystems + Lesson 2.2: Commands45 min
Meeting 1Lesson 2.3: RobotContainer & Bindings30 min
Meeting 2Activity 2.4: Trace the X button (intake) from press to motor45 min
Meeting 2Activity 2.5: Trace a sensor reading30 min
HomeworkActivity 2.6: Read through the autonomous intro20 min

✅ Week 2 Milestone: Every programmer can trace a button press from controller → RobotContainer → command → subsystem → motor and explain each step in plain English.


Week 3: Safe Contribution + Git Workflow

Do: Unit 3 (Constants, safe edits, add a feature) + Unit 4 Lessons 4.1–4.3 (WPILib docs, Git workflow, PR exercise)

DayWhat to DoTime
Meeting 1Lesson 3.1: Constants & safe edits30 min
Meeting 1Activity 3.2: Change a constant, build, verify20 min
Meeting 1Activity 3.3: Create a SpinUpCommand30 min
Meeting 2Lesson 4.1: WPILib docs deep dive30 min
Meeting 2Lesson 4.2: Git team workflow (branches, PRs, code review)30 min
HomeworkActivity 4.3: Create your first pull request20 min

✅ Week 3 Milestone: Every programmer has made a real code change, opened a pull request, and had it reviewed by a teammate. They know how to look things up in WPILib docs.


Week 4: Deeper Understanding

Do: Unit 4 Lessons 4.4–4.13 (Explore code, Java patterns, NetworkTables, game manual, auto reading)

DayWhat to DoTime
Meeting 1Activity 4.4: Explore 3 files you haven’t opened + Lesson 4.5: Java patterns60 min
Meeting 2Activity 4.6: Find Java patterns + Lesson 4.7: Constants/subsystems revisited45 min
Meeting 2Activity 4.8: Trace a new button (A or B)30 min
Meeting 3Lesson 4.9: NetworkTables + Activity 4.10: Explore live NetworkTables45 min
HomeworkLesson 4.11: Game manual + Lesson 4.12: Reading auto routines + Activity 4.13: Read an auto45 min

✅ Week 4 Milestone: Every programmer can open any file in the project and explain what it does. They understand Java patterns (lambdas, enums, inheritance), NetworkTables, and can read a PathPlanner auto routine.


Week 5: Deploy, Test, Debug on the Real Robot

Do: Unit 5 Lessons 5.1–5.4 (Deploy/test cycle, CAN bus debugging, inspect devices)

This is where programming meets the physical robot. Coordinate with the build team — you need robot access.

DayWhat to DoTime
Meeting 1Lesson 5.1: Deploy, test, debug cycle (gradlew deploy, Driver Station)45 min
Meeting 1Activity 5.2: Deploy-test-fix cycle (intentional bug exercise)30 min
Meeting 2Lesson 5.3: CAN bus and hardware debugging30 min
Meeting 2Activity 5.4: Inspect every CAN device on the robot with Phoenix Tuner X45 min

✅ Week 5 Milestone: Every programmer can deploy code to the robot, read Driver Station errors, diagnose a CAN bus issue, and complete a deploy-test-fix cycle in under 5 minutes.


Week 6: Community Resources + Debugging with Data

Do: Unit 5 Lessons 5.5–5.10 (Chief Delphi, top team code, debugging with data, vendor docs)

DayWhat to DoTime
Meeting 1Lesson 5.5: Chief Delphi + Lesson 5.6: Reading top team code45 min
Meeting 1Activity 5.7: Compare a subsystem to a top team’s30 min
Meeting 2Lesson 5.8: Debugging with Shuffleboard & AdvantageScope45 min
Meeting 2Lesson 5.9: Vendor docs deep dive + Activity 5.10: Use a vendor example30 min

✅ Week 6 Milestone: Programmers can search Chief Delphi for solutions, read top team code, debug with AdvantageScope graphs, and navigate vendor documentation. They’ve compared their code to a top team’s.


Week 7: Swerve + Autonomous Creation

Do: Unit 5 Lessons 5.11–5.15 (Swerve concepts, PathPlanner creation, auto comparison)

This is the critical week for autonomous. Your auto routines need to be working before competition.

DayWhat to DoTime
Meeting 1Lesson 5.11: Swerve drive concepts45 min
Meeting 1Activity 5.12: Trace a joystick through swerve math30 min
Meeting 2Lesson 5.13: Creating paths and Named Commands in PathPlanner45 min
Meeting 2Activity 5.14: Build an auto routine (create path, register command, test)45 min
HomeworkActivity 5.15: Compare your auto routines to a top team’s30 min

✅ Week 7 Milestone: The team has at least 2 working autonomous routines tested on the robot. Programmers understand swerve drive concepts and can create new PathPlanner paths.


Week 8: Competition Prep

Do: Unit 6 Lesson 6.19 (Competition readiness) + selective Unit 6 content based on team needs

This week is about being ready for your first event. Don’t try to learn everything in Unit 6 — pick what matters most.

DayWhat to DoTime
Meeting 1Lesson 6.19: Competition readiness (pre-match checklist, debugging flowchart, hotfix branches)45 min
Meeting 1Activity 6.20: Simulated competition debugging (timed scenarios)30 min
Meeting 2Practice match simulation — run all autos, test all buttons, verify everything works60 min
Meeting 2Print the pre-match checklist. Assign pit roles. Pack the programming laptop.30 min

✅ Week 8 Milestone: The team has a printed pre-match checklist, every programmer knows the 5-minute debugging flowchart, hotfix branch workflow is practiced, and all auto routines are tested and reliable.


At Competition

Between matches:

  1. Run the pre-match checklist (60 seconds)
  2. Review match logs in AdvantageScope (2 minutes)
  3. If something broke: follow the debugging flowchart, hotfix branch if needed
  4. If everything worked: verify auto chooser selection for next match

After each match:

  1. What worked?
  2. What didn’t?
  3. What does the data say?
  4. Fix or move on?

Post-Competition / Off-Season

Do: Remaining Unit 6 content at your own pace

PriorityLessonsWhy
HighLesson 6.1: AdvantageKit + Activity 6.2: Replay a MatchReplay debugging transforms your next season
HighLesson 6.3: Simulation + Activity 6.4: Simulate an AutoTest code without the robot
MediumLesson 6.5: Control Theory + Activity 6.6: Tune a PIDBetter mechanism control
MediumLesson 6.7: Vision + Lesson 6.8: Pose EstimationImprove auto accuracy
MediumLesson 6.10: State Machines + Activity 6.11: Design a SMCleaner complex behaviors
LowerLesson 6.13: Unit Testing + Lesson 6.15: Architecture PatternsLong-term code quality
LowerLesson 6.16: Advanced PathPlannerOn-the-fly paths, advanced constraints

✅ Off-Season Goal: Adopt at least one advanced practice (AdvantageKit logging, simulation testing, or PID tuning) before next season starts.


Quick Reference: What to Do When

SituationGo To
”I just joined the team”Unit 0, then Unit 1
”I can’t find a file”Unit 1 Lesson 1.1
”I don’t understand what this code does”Unit 2 (trace it)
“I want to make a change”Unit 3 (safe edits)
“I see a Java pattern I don’t recognize”Unit 4 Lesson 4.5
”The robot won’t deploy”Unit 5 Lesson 5.1
”A motor isn’t responding”Unit 5 Lesson 5.3 (CAN bus)
“I need to build an auto”Unit 5 Lesson 5.13
”Something broke at competition”Unit 6 Lesson 6.19 (competition readiness)
“I want to debug with data”Unit 5 Lesson 5.8
”I want to learn PID tuning”Unit 6 Lesson 6.5