= Software Training = * [wiki:ControlSystemTrainingCurriculum Control System Training Curriculum Workspace] === Java === All robot programming is done in the Java programming language. If you don't know Java yet, these training links will help: * [wiki:BeginnerSoftwareVideos Java Tutorial Videos] * [http://www.sololearn.com/Play/Java/# Sololearn] Computer Based Java Training * [wiki:JavaWPI_Training Java Training]: links to several other tutorials which help teach Java * [wiki:ProgrammingPrompts Advanced Training Prompts]: more advanced programming prompts in Java * [wiki:SoftwareTrainingBeginner Beginning Exercises] * [wiki:Exercises Exercises] === Robocode === Once you have a solid foundation in Java, you can use the Robocode to hone your skills in a fun way. Robocode creates a robot arena on your computer where you can program virtual robots and battle them against pre-programmed robots supplied with the simulator or robots programmed by your friends. * [wiki:Setting_Up_Robocode Robocode Resources] * [http://robowiki.net/ Robowiki] === WPILib === When you've mastered Robocode and are ready to start programming FRC robots, you'll need to set up a suitable development environment, learn how to access the robot software, understand the WPILib environment, and learn how to load and run code on a robot. * [http://wiki.raidtech.net/wiki/Setting%20Up%20Git Setting up git] Setting up the Git DVCS * [wiki:SoftwareTrainingIntermediate Intermediate Training] * [wiki:AdvancedTraining Advanced Training]