wiki:ControlSystemTrainingCurriculum

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

--

Control Systems/ Software Training Curriculum

Guiding Principles

  • Students hate lecture style teaching. Better to be hands on. Avoid powerpoint lectures.
  • Students have a wide variety of skill levels. Take care not to cater to any one particular level.
  • Not all students go to all sessions (due to family conflicts, etc).
  • Make sure to coordinate/ review with Software Lead and validate with Seniors.

The basic plan is that there there are three technical skill levels that build on their predecessors. Not all students start at level one. Idea: If we come up with 3-5 activities at each level we can mix and match.

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

  • Software fundamentals.
  • Java Programming Basics
  • Computer focused.
  • Individual Challenges/ Competition
  • Learn to compile and run Java
  • Eclipse Basics
  • For while loops,if statements, functions.
  • Emphasis on Individual Challenges/ Competition.
  • Supplement with online training resources (on student's own time)
  • Zhaozhou running point on this task.
  • Action: Talk to dev lead, identify dependencies (machines?), 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: Battle Royale?

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.
  • Basic bot / hardware familiarization (This is power, this is control, different parts)
  • Basic IO manipulation with Java
  • Drive manipulation/autonomous without sensors with Java
  • Sensor manipulation with Java
  • Integration Challenges
  • Small Team
  • 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

  • Git
  • Testing (Blackbox/Clearbox?)
  • Phases of Software Development
  • Basic Design
  • Problem Solving/ Debugging
  • Teambuilding
  • All students take software dev class
  • Student to teach git
  • Block diagrams flow charting
  • OOA&D
  • Teambuilding
  • Problem Solving/ Broken Code (Fix some code?)

Sensor Deep-Dive

  • Ardinuo stuff?