wiki:ControlSystemTrainingCurriculum

Version 21 (modified by chris, 9 years ago) (diff)

--

Control Systems/ Software Training Curriculum

General Student Skill Set

  • 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
  • Safety
  • Software Development Practices (CM, Design ,etc)
    • Git
    • Testing
    • Basic Design
    • Problem Solving/ Debugging
    • Teambuilding

There are three technical skill levels that build on their predecessors. Not all students start at level one.

Skill Level 1: Students new or beginners at Java programming (Robocode)

  • Compile in Java
  • Eclipse
  • For while loops,if statements, functions.
  • Supplement with online training resources (on own time)
  • 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.

Skill Level 2: Familiar with simple programming, no embedded/io/robot 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 minibot. Come up with exercises like above.

Skill Level 3: 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.

Safety

  • All students take safety class.

Software Development

  • All students take software dev class
  • Student to teach git
  • Block diagrams flow charting
  • OOA&D
  • Teambuilding
  • Problem Solving/Broken? Code (Fix some code?)