== Overview = For new students, mentors, and students on other sub-teams, these links provide an overview of what the Control Systems team does and how it does it. The goal is to provide a clear understanding of the terminology you will encounter in FRC, what goes into controlling a robot, and an appreciation for how software works (without actually learning to program). 1. [wiki:SoftwareOverviewControl Overview] 1. [wiki:SoftwareOverviewComponents Intro to Control System Components] == Getting Started == New software students and mentors should start [wiki:ControlSystems/SoftwareTeam/Training/GettingStarted here] == Intermediate Training == After you've completed Software 101, deepen your knowledge of Java and WPILib in the [wiki:ControlSystems/SoftwareTeam/Training/Intermediate Java Gym] == Advanced Topics == When you've mastered Java and WPILib, you're ready for [wiki:AdvancedTraining Advanced Training] == Other Programming Topics == === Java Interfacing === Robots operate real world and must be able to sense their environment and manipulate it. If you want to learn more about using Java to interact with real devices at home, but can't afford to buy a roboRIO consider buying an inexpensive Raspberry Pi computer and using it. The !ZebraZero platform and exercises help you learn to use Java to interface with sensors and control motors; try the [wiki:ZebraZeroTraining Zebra Zero Training] === Python Programming === Programing Languages are like tools; a screwdriver isn't better than a hammer, you just use them for different things. While 2537 doesn't use Python (and it isn't widely used for FRC programming), it's a popular language that can be very effective for certain problems; if you want to learn more, try our [wiki:ControlSystems/SoftwareTeam/IntroToPython Intro To Programming] (in python) === Future Planning === * [wiki:ControlSystemTrainingCurriculum Control System Training Curriculum Workspace] * [wiki:Software/Training/SBC WeMos SBC Training] * [wiki:SoftwareOverviewIntermediate Future stuff]