Go to Post I might be a nerd, but I am definitely a pi freak! - Courtneyb1023 [more]
Home
Go Back   Chief Delphi > Competition > Team Organization
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rating: Thread Rating: 3 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 14-11-2014, 09:35
dash121 dash121 is offline
Registered User
FRC #4085
 
Join Date: Oct 2014
Location: Reynoldsburg Ohio
Posts: 23
dash121 is an unknown quantity at this point
Talking How to choose programmers?

Any ideas? I know that to be a successful programmer (at least on our team) you need to have a lot of drive and self motivation. To be able to take a statement such as "tell me about vision tracking" and the rookie programmer be able to go run off and come back knowing "everything about everything". Is there any pre-tests you put your teams (specifically programmers) through to find out if they are going to be a good active members? Lastly, any ideas on how to make those not self motivated to learn?
Reply With Quote
  #2   Spotlight this post!  
Unread 14-11-2014, 10:14
Tungrus Tungrus is offline
Registered User
no team
 
Join Date: Mar 2013
Location: Somewhere
Posts: 333
Tungrus is just really niceTungrus is just really niceTungrus is just really niceTungrus is just really nice
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.
Reply With Quote
  #3   Spotlight this post!  
Unread 14-11-2014, 10:17
Andrew Schreiber Andrew Schreiber is offline
Data Nerd
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,055
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: How to choose programmers?

You interested in programming?

Sure

Ok.
__________________




.
Reply With Quote
  #4   Spotlight this post!  
Unread 14-11-2014, 10:31
markmcgary's Avatar
markmcgary markmcgary is offline
Software Mentor
FRC #4322 (Clockwork Oranges)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Fullerton, CA
Posts: 169
markmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nice
Re: How to choose programmers?

Quote:
Originally Posted by Andrew Schreiber View Post
You interested in programming?

Sure

Ok.
+1
Reply With Quote
  #5   Spotlight this post!  
Unread 14-11-2014, 10:44
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 234
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
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.
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
Reply With Quote
  #6   Spotlight this post!  
Unread 14-11-2014, 13:18
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
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.
Reply With Quote
  #7   Spotlight this post!  
Unread 14-11-2014, 13:27
Rangel(kf7fdb)'s Avatar
Rangel(kf7fdb) Rangel(kf7fdb) is offline
John Rangel
FRC #0842 (Falcon Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Phoenix, AZ
Posts: 718
Rangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond reputeRangel(kf7fdb) has a reputation beyond repute
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.
__________________
2011-2014 Arizona Regional Winners
2012 Dean's List Winner
2012-2013 Team President
2013 8th Place Robosub Competition
2014-? Mentor


Reply With Quote
  #8   Spotlight this post!  
Unread 14-11-2014, 13:53
Roger Roger is offline
Registered User
FRC #1153
 
Join Date: Jan 2006
Rookie Year: 1900
Location: Walpole MA
Posts: 683
Roger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond reputeRoger has a reputation beyond repute
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".)
Reply With Quote
  #9   Spotlight this post!  
Unread 14-11-2014, 14:32
Sparkyshires Sparkyshires is offline
Registered User
AKA: Michael Shires
FRC #0384 (Sparky)
Team Role: Programmer
 
Join Date: Jan 2012
Rookie Year: 2006
Location: Virginia
Posts: 226
Sparkyshires is an unknown quantity at this point
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.
__________________
"Measure with a micrometer, mark with chalk, cut with an axe."
Reply With Quote
  #10   Spotlight this post!  
Unread 14-11-2014, 15:32
dash121 dash121 is offline
Registered User
FRC #4085
 
Join Date: Oct 2014
Location: Reynoldsburg Ohio
Posts: 23
dash121 is an unknown quantity at this point
Thumbs up Re: How to choose programmers?

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!
Reply With Quote
  #11   Spotlight this post!  
Unread 14-11-2014, 16:39
pyroslev's Avatar
pyroslev pyroslev is offline
VirginiaFIRST FTA
AKA: Jack of all trades, Master of few
no team (Forget not 616)
Team Role: Alumni
 
Join Date: Nov 2004
Rookie Year: 2001
Location: Virginia
Posts: 414
pyroslev is on a distinguished road
Re: How to choose programmers?

Quote:
Originally Posted by Andrew Schreiber View Post
You interested in programming?

Sure

Ok.
+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.
  1. Put them in a room with a robot, robot control system not even imaged. (Simulating swapped C/RoboRIO)
  2. Give them laptop with the IDE on it with the most basic template for the language you're using. (Simulate programming laptop having died)
  3. Give them one hour. (About the average time between matches at competition)

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.
__________________
"Complications arose, ensued...were overcome." "I'd trade 500 CNC machines for one good hearted student."


From December to April, since 2002, I forfeit my mental sanity for perfect insanity.
Reply With Quote
  #12   Spotlight this post!  
Unread 15-11-2014, 16:02
dash121 dash121 is offline
Registered User
FRC #4085
 
Join Date: Oct 2014
Location: Reynoldsburg Ohio
Posts: 23
dash121 is an unknown quantity at this point
Re: How to choose programmers?

Quote:
Originally Posted by pyroslev View Post
  1. Put them in a room with a robot, robot control system not even imaged. (Simulating swapped C/RoboRIO)
  2. Give them laptop with the IDE on it with the most basic template for the language you're using. (Simulate programming laptop having died)
  3. Give them one hour. (About the average time between matches at competition)

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.
I really like this idea! Just throw them in a room and see what they can do and learn!
Reply With Quote
  #13   Spotlight this post!  
Unread 18-03-2015, 16:41
GreyingJay GreyingJay is offline
Robonut
AKA: Mr. Lam
FRC #2706 (Merge Robotics)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2015
Location: Ottawa, Canada
Posts: 741
GreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond repute
Re: How to choose programmers?

Quote:
Originally Posted by pyroslev View Post
But if you insist on a test before competition to see if they're ready, try this one on for size.
  1. Put them in a room with a robot, robot control system not even imaged. (Simulating swapped C/RoboRIO)
  2. Give them laptop with the IDE on it with the most basic template for the language you're using. (Simulate programming laptop having died)
  3. Give them one hour. (About the average time between matches at competition)

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.
I'm going to resurrect this older thread, because I was reading through it and this post made me laugh... this is pretty much exactly what happened to me as a new mentor!

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!"
Reply With Quote
  #14   Spotlight this post!  
Unread 18-03-2015, 21:51
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,555
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
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.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
Reply With Quote
  #15   Spotlight this post!  
Unread 19-03-2015, 19:50
faust1706's Avatar
faust1706 faust1706 is offline
Registered User
FRC #1706 (Ratchet Rockers)
Team Role: College Student
 
Join Date: Apr 2012
Rookie Year: 2011
Location: St Louis
Posts: 498
faust1706 is infamous around these partsfaust1706 is infamous around these parts
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.
__________________
"You're a gentleman," they used to say to him. "You shouldn't have gone murdering people with a hatchet; that's no occupation for a gentleman."
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 05:53.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi