2005 team 1568 had one student programmer (me) I taught myself to program during the summer of '04.
2006 1568 had one student programmer (again me) and one college mentor, a chem engineering senior with experience in programming but not in C
2007 1568 has a few students, none with any experience and two mentors one is a parent who has some programming experience (I haven’t met him yet so I don’t know what exactly he has done) the other is a computer engineer from Raytheon.
1540 has 5 this year and last year. Requirement is to go through one year of basic programming at our highscool or equivalent. Right now we have two students who learned on their own to get the requirement and three students who took the year. So everyone has at least one year in java or c++. Our mentor is our programming teacher who has a college degree etc.
Correction: none of the mentors know how YOUR code works ;). We have a few mentors that are software engineers, but they mostly just let Austin do his thing.
we have one student doing our programming, kiet. hes been doing for years, and has beed doing a great job. hes done our auto modes, jyro, PID loops, and who knows, maybe a little something for cal games.
Last year our programming team had 9 programmers (with me as lead) and 2 programming mentors (one is a programming teacher at another school, the other is my Dad who is a software engineer). By the end of the season we had 5 programmers doing quite a bit and the others kind of helping.
This year looks to have 5 or 6 programmers and me leading again. I can say from last year’s experience that having 9 programmers is a bad thing. We simply did not have enough tasks to hand out and supervise between them all since the skill level varied drastically and we really couldn’t figure out what we wanted to do fast enough.
We don’t require our programmers to have a certain level of programming education, but we tell them that if they haven’t at least taken an Introduction Programming class that they will probably get left behind unless they’re willing to do significant outside learning.
for my team, we’ve had 2 1/2 brains do it (2 geniuses and another… meh), last year i learned from them, so this year i’m taking the place of the 1 1/2 that graduated. we’ve also got an EE helping us as a mentor, but he only helps debug, he never writes the code, but gently guides us.
most of us have taken java courses from the high school (and java is very much like C)
We now have 5 programmers, last year we had 3. They are all students and write all the code. But don’t get me wrong, our software engineer mentors help a lot, especially in designing the code.
(Most people don’t know this, as most of this mentoring happens at home. 3 of us have software engineer dad, 1 has a programmer brother, and I don’t know about our 5th programmer.)
This year it will be just me programming for our team. Hopefully I can get someone else to help since its not easy to be team captain and the only programmer.
in the past, I used to do some coding for our team, being a programming teacher (though not of basic, so I had to learn that our rookie year and ended up coding it all).
I teach C++ and java, and since 2004, I’ve stepped back from actually coding, and have students doing the coding. We now have one mentor who helps with researching and new complex tasks that are new for our students (including using encoders, interrupt handling, and the CMU cam), but now the actual coding is mostly done by one student. This year, he is running in-team programming workshops and will be training some new ones for the future.
I, too, will continue to train more students once he’s gone.
That has always been one of my major concerns with having a large group programming. There is only so much to do and, while you can delegate tasks, sometimes there just isn’t enough to go around.
This year, we had around 5 or 6 kids sign up for programming. We have been teaching them some basic stuff and we’re hoping that we’ll have a few good kids to help us out this year. For now, the other programmer (Calhounian) and I are going to probably be the only ones dealing with the CMU Cam and delegating the other things, such as autonomous and encoders and such to the new guys (with our help and guidance, of course).
Build a co-processor. Create a linux distribution for robotics. Write a dashboard. Write a driver for an LCD screen. Make a new driver feedback system. Use an inertial navigation system. Start a CVS. Make your robot talk to you. Play pac-man.
Bingo!.. why limit it to the robot? Make scouting software. Write a game simulator. Write software to control your own segway. To control the firing mechanism on your t-shirt cannon. Oh so much to do…
(A large team forces us to think outside the robot in order to inspire as many as possible - with year round non-robot projects.)
On a side note… “Think outside the robot.” - I kinda like that. I’ll have to use that in a meeting someday…
Actually to be 100% correct 237 has had a mentor since 2002 who has been helping with the code. While he let the kids do it themselves, he still over looked it and helped debug it and made sure it was done on time.
I would have loved for us to do some of these. It doesn’t work as well when all of your programmers have learned how to code from school courses though; they aren’t used to “figuring it out” for themselves, and since they were all new to the FIRST program (they had various coding experience, but I was the only returning robotics programmer) many wouldn’t have a clue where to begin to look for information on this.
If done properly a large programming team could work (once you get beyond robot programming). I have my doubts from last year though, and I won’t allow it to be that big again.