Hey Chief Delphi. Does anyone have any good advice for teaching rookies on our software team java and FRC programming? We didn’t have much success this past year unfortunately with our current methods. I’m hoping to get advice on writing a good lesson plan for our team to follow next year. Thank you.
Edit: I would also really like any resources your team might have made or use. Thank you.
one good resource i plan on utilizing for rookies is the zero to autonomous video series on youtube, this series helped me make a basic swerve code and is a great starting point for programmers
I’m also working on updating our training for new programming students right now since I have some concerns about it as well. In addition to the resources that others have mentioned, have you included any kind of training related to hardware? For example, I’m having the new students learn about setting CAN IDs or updating the RIO image. I’m wondering if getting them more comfortable with the hardware might help them with the coding part.
We’re hoping to also expand our new programmers knowledge of hardware stuff, so we are working on adding the stuff you mentioned. We were previously aiming for our programmers to understand how the software worked together with electronics. That did slip my mind a little until you brought it up. But, yes we definitely agree with having them learn some hardware related stuff.
From our experience, teaching meaningful programming skills is one of the most difficult of any skills in FRC. We’ve found the best way to teach students programming is to allow them to actually “just do it”.
In the past we tried teaching how to code in a classroom-like setting, starting with the basics and providing scaffolding to scale up to FRC level. It was not nearly as successful as just allowing them to start programming on their own. We provide structure by explaining the basic concept of coding and then providing them with resources and coding challenges.
Our veteran student programmers created videos to streamline the onboarding process and serve as a coding resource for other teams: Coding Languages for FRC - YouTube
Students are more likely to get frustrated when learning to code on their own, but frustration is a part of troubleshooting their issues and is vital for them to write code independently. Of course, making sure they feel supported and helping them think about the important questions in their troubleshooting is an important part of their journey.
This year we also fundraised enough money to purchase the Romi Robot kits (Pololu - Romi Robot Kit for FIRST - Red). These kits are great because the libraries and structure eventually translate to your FRC robot. An FRC drive base and control system for each kid is expensive and a little unrealistic, this early test bed provides easier access to more students. We like them as an access point for our new programmers.