Control Systems Lead and Deputy(s) Roles and Responsibilities * Java software to control the robot and driver station * Responsibility - design and development of robot and driver station software.  Training of control-systems students in Java, WPILib, sensors, user interface, and sensor/actuator interfacing.  Ensuring all CS students have a good learning experience. * Authority - all software design decisions (meeting requirements developed by !Systems/Integration).  All user interface analysis and selection.  All control-systems  training. * Potential deputy roles: * autonomous navigation/behavior * driver station/telop control * machine vision/targeting/cameras * scouting app * specific mechanisms * IT * Duties: * Study best control systems practices of top teams * Develop/document standard software processes and resources * Manage team IT resources: wiki, cloud server(s), software version control * Fall: * training: Java, version control, testing, design patterns, WPILib, sensor interfacing and use, actuator interfacing and use, PID, user interface, autonomous navigation, machine vision, targeting/ballistics, user interface. * Build: * develop software schedule with milestones (subject to Project Manager) * design, code robot & driver station software with unit tests to meet schedule * implement scouting app (subject to Strategy Captain requirements) * Post-Build: * tag release and work with spare robot to enhance test and enhance software (add'l releases) * write technical documents for awards judging (subject to Operations Lead) * Competition: * study/record defects in field, prepare and test surgical fixes, deploy fixes subject to Game Captain approval. * Lead Mentor: Control Systems Lead Mentor