=== Control Systems/Software Training Curriculum ==== General Skill Set * Team Building * [http://robocode.sourceforge.net/ Robocode] * Software fundamentals. * Java Programming Basics * Computer focused. * Individual Challenges/Competition * MiniBots * Basic bot usage and control with java. * Sensor, Drive manipulation with java. * Small Team challenges * Midbots (Peanut, etc) * RoboRio * Software Development Practices (CM, Design ,etc) * Git * Testing * Basic Design * Problem Solving/Debugging ==== People new to programming (Robocode) * Compile in Java * Eclipse * For while loops,if statements, functions. * Zhaozhou running point on this task. * Action: Talk to dev lead, identify key constructs, create a few exercises on Robocode. See something working, change it, create something new. * Set up robocode environment. * Show idea/walk them through it. * Have them make changes. * Custom activity/challenge. ==== Familiar with programming, no embedded/robot experience ([PiBotHardware Minibots]) * No IO Experience * Minibots * Bots are fully built up front with OS installed. A bit of risk given timeline. * Equipment Familiarization * Basic IO manipulation with Java * Drive manipulation/autonomous without sensors * Sensor manipulation * Integration Challenges * Chris D running point (Alan helping). * Action: Build bot. Come up with exercises like above. ==== Familiar with embedded java/simple robots (Midbots/RoboRIO/WPILib) * RoboRIO * FRCSim * WPILib * Alan running point * Action: Get simulator running, figure out what there is to learn.