This page will act as a portal for our training program for training programmers.
Setting up your coding environment
The Java Language
There are many resources for learning Java. HomeAndLearn and TutorialsPoint are always good places to start (you only need to follow the Java and Object Oriented tutorials). For practice with writing algorithms, doing a exercises on codingbat is very useful (don't worry about the recursion exercises too much, since we focus on procedural design). And, as always, one of the best ways to learn is just to practice. That means you should do projects that you want (or you could ask a mentor, team leader, or friend for ideas). Text-based games, math tools, and other programs that run in the console are good projects to start with, and graphical programs and games are very good practice later on.
The FRC Control System
We've written a tutorial on the basics of the FRC Control System on the Robot Java API page.
The best place for this is the official screensteps site. Each year, FIRST comes out with a new version of the Screensteps site for their new version of the control system, so make sure you find that page right away each year. If you need technical details on any classes, interfaces, or methods, peruse the documentation, although I would not advise memorizing it by any means.
Just check out the relevant Wikia page for info. There is a 'getting started' section that should be able to help.
There aren't really any consolidated resources for this. Maybe just read through these pages?
Probably the best way to learn our code is either to read the code (we've spent many man-hours documenting it, so you'd better make use of it), check out the relevant Wikia pages, or just talk to the author of that specific piece of code (hey, another reason to learn Git!).