Version 23 (modified by 9 years ago) (diff) | ,
---|
Control Systems/ Software Training Curriculum
Guiding Principles
- Students hate lecture style teaching. Better to be hands on.
- 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 with Software Leads.
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 student's 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?)
Sensor Deep-Dive
- Ardinuo stuff?