Skip to content

An effort to outline a curriculum and resources for learning programming FRC robots.

License

Notifications You must be signed in to change notification settings

randomstring/FRC-Programming-Curriculum

Repository files navigation

FRC-Programming-Curriculum

An effort to outline a curriculum and resources for learning programming FRC robots.

Lessons

Crash course to get students to the point that they can write, build, deploy, run, and debug robot code.

  1. Lesson 0 Software Installation
  2. Lesson 1 Building Robot Code
  3. Lesson 2 Learning Java and Command Based Robot Code

Outline for Future Lessons

Lesson Plan

Programming Curriculum Notes

My notes: ProgrammingCurriculum

Starting this repository to organize my thoughts on what needs subjects need to be covered for someone to become competent at programming FRC robots. There is a lot of ground to cover to go from not programming to programming FRC robots.

I started volunteering with FIRST as a programming mentor in 2018. As a someone with 35 years of programming experience, programming robots was completely novel. The learning curve was very steep and I approached learning this like I would learning any new technology for the job. I took a course controlling mobile robots. Trying to sort through the overwhelming haystack of FRC programming resources, some out of date, many incomplete, and all scattered across many websites.

Here, my goal is to organize where the good, accurate, and well structured FRC programming resources are. I also hope to outline a curriculum that will take a student with little to no programming experience and give them a path to programming complex robot behaviors. Along the way, outlining general computer science principles and good programming and engineering practices.

Notes

I'm compiling notes to accompany some of the good YouTube tutorial videos I've found. I'm starting with this three part introduction to command based programming by team 4627 The idea being to add some depth in the form of additional discussion, links to supporting documentation, and updates for things that have changed.

Slides

Next up, start creating a curriculum, slides, notes, and a lesson plan for instruction.

Examples

Example robot programs. Have students clone a repo, complete the missing code segments, build the code, and test their robot.

  1. Modified Command Based Robot Template
  2. Command Based Robot w/ Arcade Drive
  3. One motor & encoder subsystem with a PID tunable task
  4. Display values to SmartDashboard for debugging
  5. NetworkTables to have editable variables (PID tuning)

File Formats

Some source files for outlines, notes, and slides are in .org Emacs Org-mode. Some of the .md (Markdown) files are generated from the .org files by Emacs. Most of the README and lesson files are directly edited markdown files, as it is easier to get the links and embedded images correct that way.

About

An effort to outline a curriculum and resources for learning programming FRC robots.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages