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 Section Overview
Section titled “Stage Section Overview”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.