Go to Post You can usually pick out the kids who will grow up to be engineers. They're the ones tearing apart their nintendo, their vcr, their minibike, and their parents' cars. - Tom Line [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 15-03-2013, 13:10
E Dawg E Dawg is offline
... is not done with FRC yet.
AKA: Ethan
FRC #0159 (Alpine Robotics)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2012
Location: Fort Collins, CO
Posts: 267
E Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud of
Teach programmers

I am going to be head programmer next year and part of my job will be to teach new members interested in programming. I was wondering if people had any ideas on how to effectively teach programming, since I am not a great teacher (took 20 minutes to teach my brother how to play checkers ). Any thoughts would be appreciated. Many thanks.
  #2   Spotlight this post!  
Unread 15-03-2013, 14:13
rbmj rbmj is offline
Registered User
FRC #0612 (Chantilly Robotics)
Team Role: Alumni
 
Join Date: Apr 2011
Rookie Year: 2011
Location: DC Area/Fairfax County
Posts: 192
rbmj is a jewel in the roughrbmj is a jewel in the roughrbmj is a jewel in the rough
Re: Teach programmers

Prepare lots of hands on exercises. Start with normal desktop programming for simplicity, but make sure that you quickly move to actual robot code. You'll need a lot of time if you actually want to make these people good.

Most of the specifics depend on the language you use.
__________________
FRC 612 '12
USNA '16
  #3   Spotlight this post!  
Unread 15-03-2013, 18:24
E Dawg E Dawg is offline
... is not done with FRC yet.
AKA: Ethan
FRC #0159 (Alpine Robotics)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2012
Location: Fort Collins, CO
Posts: 267
E Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud of
Re: Teach programmers

We use labview to program, but many of the members come in knowing C/C++ or Java.
  #4   Spotlight this post!  
Unread 15-03-2013, 21:22
vhcook's Avatar
vhcook vhcook is online now
Reader of Things
AKA: Victoria
FRC #1939 (Kuh-nig-its)
Team Role: Mentor
 
Join Date: Feb 2007
Rookie Year: 2006
Location: Kansas City, MO
Posts: 546
vhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond reputevhcook has a reputation beyond repute
Re: Teach programmers

I generally start them on the FRCMastery videos, then have them do a traffic light state machine outside the robot code, then move a robot motor with a joystick or button in teleop starting from the base robot code, then work up from there.
  #5   Spotlight this post!  
Unread 15-03-2013, 21:42
Kevin Sevcik's Avatar
Kevin Sevcik Kevin Sevcik is online now
(Insert witty comment here)
FRC #0057 (The Leopards)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Houston, Texas
Posts: 3,619
Kevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond reputeKevin Sevcik has a reputation beyond repute
Send a message via AIM to Kevin Sevcik Send a message via Yahoo to Kevin Sevcik
Re: Teach programmers

Quote:
Originally Posted by E Dawg View Post
We use labview to program, but many of the members come in knowing C/C++ or Java.
If your incoming members are strong, really strong, in C++ or Java, you might consider switching to that for your programming language. It's a lot easier to learn to program if you're only learning the logic of programming a robot and not trying to learn all the syntax and quirks of a new language as well. Then too, labview programming is rather different than C++ or Java. As an experience C++ programmer, it took me quite a while to really get my head around labview and how it works when I first encountered it.
__________________
The difficult we do today; the impossible we do tomorrow. Miracles by appointment only.

Lone Star Regional Troubleshooter
  #6   Spotlight this post!  
Unread 15-03-2013, 21:52
pasco27 pasco27 is offline
Programming Captain-Team RUSH
FRC #0027
Team Role: Programmer
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Michigan
Posts: 15
pasco27 is on a distinguished road
Re: Teach programmers

Team RUSH has developed labview programming documents and we distribute them to rookie members as well as rookie teams and they said it really helped

http://archive.teamrush27.net/resources/rookies.html

they are the programming guides under labview tutorials

Good luck
Matt Pasco
  #7   Spotlight this post!  
Unread 15-03-2013, 22:04
swwrobotics's Avatar
swwrobotics swwrobotics is offline
Registered User
FRC #2900 (The Mighty Penguins)
Team Role: Mechanical
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Washington D.C.
Posts: 112
swwrobotics is an unknown quantity at this point
Re: Teach programmers

Quote:
Originally Posted by pasco27 View Post
Team RUSH has developed labview programming documents and we distribute them to rookie members as well as rookie teams and they said it really helped

http://archive.teamrush27.net/resources/rookies.html

they are the programming guides under labview tutorials

Good luck
Matt Pasco
Could not open the links. They led to a page not found error...
  #8   Spotlight this post!  
Unread 16-03-2013, 00:50
sg999 sg999 is offline
Programming Lead, Co-Captain 2013
AKA: Bella
FRC #0999 (Mecharams)
Team Role: Alumni
 
Join Date: Apr 2012
Rookie Year: 2012
Location: Connecticut
Posts: 44
sg999 is a splendid one to beholdsg999 is a splendid one to beholdsg999 is a splendid one to beholdsg999 is a splendid one to beholdsg999 is a splendid one to beholdsg999 is a splendid one to behold
Re: Teach programmers

This year, we had 2 new programmers who knew nothing about programming. They ended up writing most of the code. The only thing that they didn't write was the PID loop code, as no one on our team knew how to do that before this season.

First, we had them come in for a couple hour long sessions after school in which we (the other veteran programmer and I) explained variables, subVI's, control structures (case structure, while loop, for loop), and other basic programming stuff in both technical terms and more relatable terms (We ended up with a huge extended analogy comparing a room full of magic boxes to the code). We then had them come in a longer after school session in which they wrote tank drive code during which we explained what the subVI's are supposed to do (why do I need to initalize a motor, etc). Next, our programming mentor took a day to make a water tank state machine with us. We then sent them home to read ni's tutorials on whatever they didn't understand. To get the new programmers programming, we had a policy that a new programmer must always be sitting in front of the programming laptop, with their screen projected on the wall. We started off by talking them through everything (Click here- that VI you just selected allows us to set motor output, etc), and eventually moved up to them programming almost independently. Because we had a bench to test on, all of our teleop code was done, tested, and theoretically working by the end of week 4. The only things we've done since there were changed negative signs, ports, and added a PID loop.

tl;dr: Use hands-on activities.
__________________
There is always time-whether or not you use it productively is up to you.

2012-WIWI 6th seed (Thanks for being awesome alliance partners, 1991 and 178)

2014-present College student at Caltech (math/CS)
  #9   Spotlight this post!  
Unread 16-03-2013, 15:02
E Dawg E Dawg is offline
... is not done with FRC yet.
AKA: Ethan
FRC #0159 (Alpine Robotics)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2012
Location: Fort Collins, CO
Posts: 267
E Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud of
Re: Teach programmers

Thanks guys. I have been working on "tutorial code" that contains basic functions such as loops, variables, etc. Hopefully these will help me teach people without overwhelming them.
  #10   Spotlight this post!  
Unread 16-03-2013, 16:07
lcoreyl's Avatar
lcoreyl lcoreyl is offline
WittyTitleGen can't link to library
AKA: Milner
no team
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Colorado Springs
Posts: 201
lcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud of
Re: Teach programmers

this is something we're looking at using to learn Java. It's "virtual" battle bots using Java or .NET It allows for programmers to just focus on code without the hardware problems. Haven't tried it yet though...

http://robocode.sourceforge.net/

I'll also ditto the above that say if you know C++/Java, why not code your bot with it?
  #11   Spotlight this post!  
Unread 17-03-2013, 10:22
jcbc's Avatar
jcbc jcbc is offline
Registered User
AKA: Julie
no team
 
Join Date: Aug 2010
Rookie Year: 2011
Location: PA
Posts: 53
jcbc is a jewel in the roughjcbc is a jewel in the roughjcbc is a jewel in the roughjcbc is a jewel in the rough
Re: Teach programmers

I second ("third"?) the importance of teaching state machines once basic programming and control structures are understood. State machines are not language dependent and they are useful for robot programming. Part of our fall programming training is having the programmers (new and experienced) write code that implements a given state machine.
  #12   Spotlight this post!  
Unread 17-03-2013, 14:27
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Teach programmers

Quote:
Originally Posted by swwrobotics View Post
Could not open the links. They led to a page not found error...
This page is probably the one Matt should have given:
http://www.teamrush27.net/rookie-resources
  #13   Spotlight this post!  
Unread 11-04-2013, 09:38
E Dawg E Dawg is offline
... is not done with FRC yet.
AKA: Ethan
FRC #0159 (Alpine Robotics)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2012
Location: Fort Collins, CO
Posts: 267
E Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud of
Re: Teach programmers

Thanks for your input. Me and the other veteran programmers have made an executive decision to switch to C++ and are already happy with it.
  #14   Spotlight this post!  
Unread 06-05-2013, 12:25
mlbernardoni mlbernardoni is offline
Registered User
FRC #2704
 
Join Date: Mar 2011
Location: Batavia, IL
Posts: 11
mlbernardoni is on a distinguished road
Re: Teach programmers

For C++, Team 2704 has developed a training program for FRC that uses NXT robots. The training is directly applicable to FRC robots, but each student can program their own little robot. So if you access to NXT(s), check out www.FirstPlusPlus.com
  #15   Spotlight this post!  
Unread 06-05-2013, 13:52
lcoreyl's Avatar
lcoreyl lcoreyl is offline
WittyTitleGen can't link to library
AKA: Milner
no team
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Colorado Springs
Posts: 201
lcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud oflcoreyl has much to be proud of
Re: Teach programmers

Quote:
Originally Posted by mlbernardoni View Post
For C++, Team 2704 has developed a training program for FRC that uses NXT robots. The training is directly applicable to FRC robots, but each student can program their own little robot. So if you access to NXT(s), check out www.FirstPlusPlus.com
Wow, this is really great work. thanks for sharing!
Closed Thread


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 22:13.

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