Bridging the Mentorship Gap: Announcing the 2026 Java Programming Course for FRC

For a few years now, I’ve had the immense privilege of serving as a programming mentor on FRC Team 2910, Jack in the Bot. Within our program, I have exclusively dedicated my time to the Programming 1 subteam, our foundational training ground.

When first-year students join our subteam, this is where they land. Together, we tackle a massive challenge: teaching comprehensive Java alongside real-time robot programming. It is an incredible amount of territory to cover within a single school year.

Year after year, my time at events reminds me of a harsh reality: it is incredibly difficult for many teams to secure programming mentors. Software engineering jobs are not evenly distributed across the globe. In areas lacking a dense tech sector, teams face a steep uphill battle in finding professional software mentorship.

While I can't solve this systemic issue single-handedly, I knew I had the skills and the drive to help in a small way. That spark was the inspiration for the first version of my Java Programming for FRC course, which launched last year. If you need immediate access to a fully finalized pathway, you can still find our 2025 Intro to Programming for FRC Course here.

I saw plenty of resources that taught isolated Java syntax, and others that dropped students directly into complex robot code, but very few that truly combined both. I wanted to bridge that gap.

Last year's version was a solid start. Today, I am thrilled to announce that I am actively building and releasing a completely redesigned, deeply interactive version for the 2026 offseason. As I finish polishing each module, they will go live instantly on the new portal: 👉 The 2026 FRC Java Programming Course

Addressing the Elephant in the Room: System Core

Let's address the question everyone in the community is asking right now: What about System Core?

To be completely transparent, I do not have early access to System Core. I haven't seen its inner workings, and I don't have hands-on experience with its API differences yet. Consequently, this newly revised version of the course is not written for System Core.

I know this is a limiting factor, but as an engineer, I had to make a definitive architectural choice:

  • Option A: Wait until January to gain hands-on experience with System Core during the high-stakes build season.

  • Option B: Build and ship something highly usable right now so teams can successfully train their rookie students during the critical offseason.

I chose Option B. Moving forward with a functional offseason curriculum serves teams when they actually have the time to learn.

Technology never stands still, and neither will this curriculum. Much like professional software engineering and the tech industry at large, FIRST Robotics teams are constantly pushing the boundaries of what was previously considered normal or even possible.

While life is constantly changing, I do aim to keep updating this course after each season. The 2027 version will explicitly integrate System Core. Expanding this platform also means I am actively working toward launching a sister version of this course tailored specifically for FTC teams in the near future.

Why This Course Is Exclusively Taught in Java

I didn't choose Java by accident, nor did I choose it simply because Jack in the Bot programs in it. When designing an educational pipeline, you have to look at the broader ecosystem: community support, long-term student trajectories, available learning resources, and developer tooling.

This course is exclusively taught in Java for several fundamental reasons:

1. Unmatched Community and Event Support

Java is the undisputed heavyweight language of FRC. Because the vast majority of teams use it, programming in Java gives your team an automatic safety net at competitions. If your code acts up in queueing, a nearby team in line might be able to help you triage. If you are working through a bug in your pit, the teams in the immediate surrounding pits are highly likely to understand your syntax.

Furthermore, event volunteers like Control System Advisors (CSAs) are deeply accustomed to debugging Java stacks. A CSA is far more likely to instantly recognize a transient threading issue or a latency spike in a Java loop than in a Python script, which is fully supported but simply less common within FRC.

2. The Power of Public and Open-Source Codebases

This course would not be possible without the incredible culture of open source within FIRST. This community shares code in a couple of highly impactful ways. We have teams in the Open Alliance who build completely in the open, pushing code live throughout the entire build season. We also have elite programs, like Team 2910, who develop in private but publicly release their complete competition repositories in the offseason.

Because these groups write in Java, our students can open up world-class codebases to study real, production-grade logic.

Important Reminder: While there are a million ways to solve a problem in software, the most successful teams in the world rely on remarkably similar, proven methods. The best teams don't constantly reinvent the wheel. They take established wheels, study them, and improve them.

By teaching Java, our students can directly study elite architectures across the global community, including:

  • Team 2910 (Jack in the Bot): Tracing our public competition repositories from our 2020 robot through our 2025 World Championship season.

  • Team 254 (The Cheezy Poofs): Analyzing their masterfully structured public frameworks.

  • Team 6328 (Mechanical Advantage): Exploring advanced diagnostic logging via AdvantageKit and AdvantageScope.

  • Team 1678 (Citrus Circuits), Team 4481 (Team Rembrandts), Team 604 (Quixilver), and Team 3476 (Code Orange): Evaluating diverse, high-performance subsystem libraries.

3. Engineering Discipline and Future Trajectories

From a pedagogical standpoint, Java strikes the perfect balance for an emerging software engineer. Python is a wonderful tool for rapid data science prototyping, but its loose typing can foster messy habits in beginners, like neglecting variable type identification. Java, on the other hand, refuses to let you cut corners on the fundamentals. It forces students to master strict compilation rules and object-oriented structure without overwhelming them with manual memory management like C++.

If a student learns a strongly typed, object-oriented language like Java first, pivoting to a higher-level language like Python later is incredibly easy. We are training these students to build foundational engineering skills that translate seamlessly into industry roles.

Expanding the Pipeline: A Resource for Industry Mentors

While this course is designed to take a high school student from absolute zero to advanced control loops, I want to emphasize an equally critical audience: industry professionals who are new to mentoring FRC. Every year, brilliant software engineers from the tech sector volunteer to guide robotics teams. However, writing enterprise web applications or embedded systems code does not automatically translate to the specific, real-time realities of the WPILib framework. If you understand object-oriented programming but have never dealt with a 20-millisecond iterative robot loop, hardware abstraction layers, or CAN bus latency, this course is designed for you too. It serves as an accelerated onboarding pipeline to get professional engineers speaking the language of FRC-specific robot code quickly, allowing you to maximize your impact as a mentor right out of the gate.

The Core Curriculum Matrix: From Hello World to Simulation

To show you exactly what we are building, here is the full curriculum skeleton for the updated course. It spans 14 comprehensive units, systematically turning non-experts into tool-builders.

An aesthetic curriculum matrix table detailing the 14 training units for the Code With Kate FRC Java Programming Course.

The 14-Unit FRC Java Curriculum Architecture, detailing the chronological progression from initial system installation through advanced control theory, simulation workflows, and competition readiness triage

Join the Offseason Sprints

This curriculum is the distillation of years spent diagnosing broken CAN lines, training rookies with zero programming history, and collaborating with brilliant mentors across the country. It is tailored to provide an organized, scannable, and supportive environment so your team can build undeniable technical authority long before the January rush.

I’m dropping new lessons as they clear my validation pipeline. Dive in, grab the code stubs, and let's get your rookie programmers writing fluent, hardware-safe Java.

Are you utilizing the offseason to overhaul your team's code standards? What architectural patterns are you priorit

Next
Next

Pedagogy for the Multi-Dimensional Mind: Balancing Algorithmic Rigor with Human Empathy