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

  • Sets up students with the development environment and required tooling
  • Teaches students the Java concepts necessary for FRC software

Stage 1a: Basic FRC Programming

  • Introduces students to many of the development tools which will be used throughout the course and for general FRC development
  • Provides an overview of FRC electronics
  • 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
  • Introduces logging and telemetry
  • Introduces the concept of code structure and working with multiple files
  • Covers the basics of PID control when applied to simple autonomous driving
  • Students will have a functional teleoperated kitbot program and a more advanced auto

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.