Skip to content

Curriculum Overview

Welcome to the XBot programming curriculum. You will go from writing your first Java code to controlling real robot mechanisms.

No programming experience? Start here. The curriculum assumes you know nothing about programming and teaches you everything step by step.

Learning Path

Getting Started

ModuleWhat You Will LearnTime
1. Environment SetupInstall Java, VSCode, WPILib, Git, GitHub Desktop30 min
2. Java BasicsVariables, methods, classes, interfaces45 min
3. Object-Oriented ProgrammingEncapsulation, inheritance, polymorphism, abstraction30 min
4. Intermediate JavaGenerics, lambdas, Optional, collections, streams, enums40 min
5. Git & GitHub DesktopClone, commit, branches, pull requests30 min

Robot Fundamentals

ModuleWhat You Will LearnTime
6. Robot ArchitectureHow the robot program runs and is organized20 min
7. Electrical ContractWiring definitions as code20 min
8. Motor ControlControlling motors, building a MotorSubsystem30 min
9. PID LogicAutomatic control with Proportional-Integral-Derivative30 min
10. Command-Based ProgrammingWPILib framework for organizing robot behavior30 min
11. Operator Command MapBinding gamepad buttons to commands20 min

What's Next?

After finishing the curriculum, move on to Core Programming to learn advanced XBot patterns like dependency injection, factories, maintainers, and swerve drive.

Practice Repo

All exercises use XbotEdu -- a practice robot project with unit tests so you can code without a physical robot.

bash
git clone https://github.com/Team488/XbotEdu.git
cd XbotEdu
./gradlew test

Built for XBot Robotics Team 488