Quote:
Originally Posted by seanwitte
Actually, writing software for a living is primarily about doing just that. It's too expensive and time consuming to write everything from scratch. But this is FIRST, not real life. You're still at a point where you need to learn how all of this stuff works at the most basic level. I think the rules about code re-use need to be revised to allow teams to build up a body of knowledge and expertise over time. Your first year may be ugly, but each year after that should be better.
Going along with that, what about teams that choose not to invest resources to build up their programming expertise? A team without mechanical prowess can turn to AndyMark, but there is no source other that Kevin Watson for programming help. There are scattered whitepapers and forum posts, but no real tested and reusable code. A library of solid source code would be beneficial to everyone.
|
Kevin's template provides a common base that enable's teams to have quadrature encoders and gyros running almost immediately, so you don't have to create everything from scratch. But how does a student understand how a gyro or an encoder works if they don't write and test the code themselves?
My programming training involves:
1. Having the kids read and understand Kevin's template to understand how the code works.
2. Teaching the basics of PID coding, switch debouncing and the like.
3. Trying to introduce behavior-based programming, to give the kids something to hang everything on.
Then I sit back and watch what they do. Sure I make suggestions and help them debug, but mostly I enjoy having them show me what they have done! They come away from the process with the self-confidence of having created a piece of code which makes the robot perform as they wish and the knowledge gained by doing the coding themselves. That is what FIRST is all about!