Skip to content

The Stages

The course progressively builds complexity while reinforcing core concepts of good software development practices, controls fundamentals, and code organization. It starts with basic code to control a 2026 kitbot and progresses through more complex robots and mechanisms.

Stage 0: Java Fundamentals

  • Teaches students foundational principles for programming in Java
  • Recommended for all students who are not already experienced with Java programming
  • For a guide on setting up the necessary programming environment, please refer to “Course Setup” in the learning course

Stage 1A: Basic FRC Programming

  • Introduces students to the 2026 Kitbot, which will be utilized throughout Stage 1
  • Teaches the basics of FRC motor controller and gamepad interaction
  • Students will have a functional teleoperated kitbot program and a basic auto

Stage 1B: Introduction to Command-Based Programming

  • Introduces command-based programming (using Commands v3)
  • Introduces concepts such as triggers, scheduling, and suppliers
  • Students will use what they learned in 1A to write kitbot code that uses command-based principles
  • Students will have a functional teleoperated kitbot program and a more advanced auto

Stage 1C: Control and Telemetry

  • Introduces PID control
  • Introduces logging and telemetry
  • Students will have a functional teleoperated kitbot program with automatic movement capabilities and increased live data acccess

Stage 2: 2025 Robot

  • Introduces feedforward control and mechanism dynamics
  • Provides techniques for additional teleoperated automation
  • Students will write entire Mechanisms on their own
  • Introduces Commands v3 state machines
  • Discusses various code structure and organization choices that will have to be made in any given robot project
  • Covers one technique to prevent mechanisms from colliding with the rest of the robot

Additionally, all stages will naturally include a significant amount of debugging experience as students write their code. Debugging is a critical skill that all students should know as, inevitably, some code won’t work as expected on the first try.