|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: How to choose programmers?
I would be careful about "guys" who run off and come back "knowing everything about everything", they may cause more problems than finding solution. I would rather have someone who takes time to think about and finding a solution, this is bit vague but in short someone who has patience. Especially with programming debugging is part of life and many times its not easy. Someone with short attention span may not be the best candidate.
To get students interested in programming, we give mini-tasks to team members to program. We use Labview so our typical challenge is creating a dash board showing water level in a tank, as they make progress, we will make it more animated and add controls and alarms etc to control flow rate, and alert when tank fills up. Since they can see on screen what is happening and how controls work they would be interested. Then we step up a notch, give them cRIO and ask them to program, control pneumatic system, one step at a time, and so on. |
|
#2
|
|||
|
|||
|
Re: How to choose programmers?
You interested in programming?
Sure Ok. |
|
#3
|
||||
|
||||
|
Re: How to choose programmers?
|
|
#4
|
||||
|
||||
|
Re: How to choose programmers?
One of the things that is helpful is for those who want to be programmers to be in computer science in order to know 'programming'. That is, how if statements work, return, while loops, for loops, that kind of thing. It is easier for a person who is trained in teaching students to teach them how to program than it is for a mentor or another student to try. Even so, our team created a python training module that you can find here. We went through this as a group and now most of our team is somewhat up to speed.
We don't actually pick people, instead they tell the captain they want to program, and that is that. |
|
#5
|
||||
|
||||
|
Re: How to choose programmers?
There are multiple ways to go around with this.
I really suggest to pick people with at least a little bit of programming background, at this moment of time, as we are really close to the new season. In my programming club, I have it as open enrollment -- anyone can join -- no experience required. Of course, this means that you need to know how to use a computer, and how to install software, for example. This "open-enrollment" option means that you will tend to spend a lot of time just teaching students the basics of programming. If you get students that know how to program, even in just a different language, say Python instead of C/C++/Java, they should be able to catch on quite quickly. |
|
#6
|
||||
|
||||
|
Re: How to choose programmers?
From my experience of my team as well as talking to many others, programmers are pretty rare on most teams. You really can't have enough considering how many potential programming projects and problems there are so I would take anyone that is interested. Whether or not they are dedicated is another story but that's why you have them work with someone more experienced or have them work on smaller projects before you give them a really important task.
|
|
#7
|
|||
|
|||
|
How to choose programmers?
It's the ones you have to pull away from the computer and shove out of the building late at night. (And the obligatory "cans of Mt Dew and bags of chips".) |
|
#8
|
|||
|
|||
|
Re: How to choose programmers?
On the "if interested, join." aspect, my team had an issue with that last year. We had about 8 people interested in the "romantic" esque aspect of programming, as in they wanted to become like super hackers or something. However, come build season,after teaching them all the way from September 1 to January 1, we had on average maybe three for the first three weeks, and then we were lucky to have one or two of the original 8 every night. I'm also trying to find a way for our team to find new programmers, that are capable and willing to come.
|
|
#9
|
|||
|
|||
|
I think the idea of a "patience game" is perfect for at least the text based languages. I think that would be the best way to do it by far! Thanks so much from all of you!
|
|
#10
|
||||
|
||||
|
Re: How to choose programmers?
+10
Let them learn the basics. They'll need some instruction so a mentor of some capacity will help them to learn. If they learn well, then keep them on the learning path. Any student who has the will to learn to program or learn to do anything on the team, I would never turn them away. But if you insist on a test before competition to see if they're ready, try this one on for size.
To completely pass it, they must reprogram said robot to be as close to competition ready as possible. If a student programmer can complete the above and the possible drive team be able to be competitive with the robot, then that student has earned their weight in pizza. |
|
#11
|
|||
|
|||
|
Re: How to choose programmers?
Quote:
|
|
#12
|
|||
|
|||
|
Re: How to choose programmers?
Quote:
At my first meeting they said "So, you're interested in helping with programming? Cool, go see [mentor]". He handed me a package he had just received that day... a set of I2C addressable LED strip lights, an Arduino board, and a power supply. My directions? "Take [students] and make this work!" In the remaining hour and a half I had to find a laptop, download the Arduino IDE, drivers and sample code for the LED strips, figure out how to wire it all up, debug a wiring problem (turns out the power supply connector polarity was backwards!) and... yes... we made it work! On my way out another mentor shook my hand and said "Well, you did pretty fantastically for your first time out!" |
|
#13
|
|||||
|
|||||
|
Re: How to choose programmers?
We did tryouts this year for the first time. Everybody who didn't make varsity last year had to try out (tryouts were given by members and varsity). Everyone had to do all the tryouts, including some mechanical, wiring, and programming tasks. We kept track of both attitude and aptitude. We selected members primarily on attitude, and assigned them to departments based on a combination of aptitude and their preferences. We know we always have to get a lot of programmers to start, because there will be those who don't properly engage or get it in a couple of months. Some of these leave the team (most just stop showing up; we get this in every department), others move to other departments.
|
|
#14
|
||||
|
||||
|
Re: How to choose programmers?
We've only ever had 1 programmer for the cRIO / roboRIO. Granted that programmer has been able to do some pretty good stuff, but still only one, despite how much we beg and plead students to help her.
In 2012 the mentors decided we were going to put the kinect on our robot. The mentor that was behind this already knew exactly how the problem was going to be solved, but wasn't going to program it for the team. The solution required a strong math background to even understand, so the programmer (me) was forced into the role, even though I had never programmed in my life. This year we got a huge influx of people who wanted to program, all of them being freshman or sophomores too. So they went through the intro to c++ class notes from a local engineering school in 2 weeks and they were good to go for the most part. Sadly, we don't have the luxury of picking students for roles. It's really whoever steps up. We did have to establish a few dev rules this year: don't pull code for more than a day, if you push code and it causes a bug or error, fix it immediately, just typical stuff you'd follow in a dev job. |
|
#15
|
||||
|
||||
|
Re: How to choose programmers?
+2
Our method includes this....and a whole lot of begging. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|