View Single Post
  #2   Spotlight this post!  
Unread 06-04-2008, 21:52
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 741
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Re: 2009 Control System Possibility?

Quote:
Originally Posted by seanwitte View Post
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!
__________________
Jon Mittelman

Senior Judge Advisor New England & Israel 2014-2015
Infinite Loop Mentor 2011-2015
TechnoTicks Mentor 2000-2011
Championship Chairman's Award 2009 Team236 TechnoTicks
Judge 2010-2015 Championships
Senior Judge Advisor New England District Championship 2014-2015
Judge Advisor Tel Aviv Regional 2007-2015
Judge Advisor Pine Tree Regional 2013
Maine Regional Planning Committee
New England District Planning Committee
Lead Inspector Microsoft Tel Aviv Regional 2006-2008
Judge & Lead Inspector GM/Technion Tel Aviv Regional 2006
Judge UTC Hartford Regional 2006
Reply With Quote