Go to Post I just... I can't even comprehend it. Like, my brain is soup. Commas are everywhere. Sentences. Shrinking. zzzzzzzzzzzz... - PayneTrain [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 13-10-2014, 10:22
weaversam8 weaversam8 is offline
Team Captain
AKA: Sam Weaver
FRC #4534 (Wired Wizards)
Team Role: Leadership
 
Join Date: Jan 2014
Rookie Year: 2014
Location: Wilmington, North Carolina
Posts: 137
weaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to behold
Advice for teaching new students

Our team has sustained major growth this year, up to around 40 students. A good percentage of them wish to learn programming, which is a huge load on our 2-man programming team.

Does anyone have any ideas on how to teach programming to such a large group during build season?
__________________
ORB Haow!

  #2   Spotlight this post!  
Unread 13-10-2014, 10:39
BriteBacon's Avatar
BriteBacon BriteBacon is offline
Happy birthday to me!
AKA: Brian Jung
FRC #0074 (Team C.H.A.O.S.)
Team Role: Alumni
 
Join Date: Apr 2014
Rookie Year: 2012
Location: Holland, MI
Posts: 50
BriteBacon is on a distinguished road
Re: Advice for teaching new students

Teach them before build season on the basics. This will also help filter out people who aren't 100% serious on joining the programming team. In the past our team has recoded our old robots so the new students can get the actual experience they need before build season.
__________________
2014 FRC World Champions- 254, 469, 2848, and 74

2014 Michigan State Finalists- 1718, 67, and 74
  #3   Spotlight this post!  
Unread 13-10-2014, 11:36
MamaSpoldi's Avatar
MamaSpoldi MamaSpoldi is offline
Programming Mentor
AKA: Laura Spoldi
FRC #0230 (Gaelhawks)
Team Role: Engineer
 
Join Date: Jan 2009
Rookie Year: 2007
Location: Shelton, CT
Posts: 307
MamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant futureMamaSpoldi has a brilliant future
Re: Advice for teaching new students

Quote:
Originally Posted by BriteBacon View Post
Teach them before build season on the basics. This will also help filter out people who aren't 100% serious on joining the programming team. In the past our team has recoded our old robots so the new students can get the actual experience they need before build season.
Totally agree with this statement. Way back in 2009 our only experienced programmer (student) was a senior and I had this crazy idea that we could have students coming up to speed on programming during the build season. Just doesn't happen... things are hectic during build season. No one had time to learn anything so after build season a student asked if I could run an off-season class to help prepare them for next year. I have been running off-season programming classes for our students every year since then. This has proven very useful, in fact at this point I think more than 50% of the kids on the team have taken the class even though most do not end up doing software for the robot.

It is not an extensive class (like you would expect in a high school or college programming course) where I cover every aspect of the language and programming. Not sure what language you are using, we use C++ so I bring them up to speed on the language facilities we generally make use of especially classes and the implementation of things like state machines... and also the architecture our team uses in creating our code. It is fast-paced, intensive, hands-on class done in 6 weeks and it gives them a flavor of what is to come. And it gives me an idea of who is really interested and what their abilities are.

Each student does the short exercises in C++ [using Visual Studio Express (which is free)] on a laptop during class time so that they are able to learn from their mistakes and get a general feel for how to use a debugger, compiler, etc. During our last class we review a few classes from the previous year's code so that they have some idea of what the actual robot code entails. I have a set of powerpoint presentations that I have developed over the years that I use to stay on track as well as providing a reference for them in the future.
__________________

Last edited by MamaSpoldi : 13-10-2014 at 11:43. Reason: more info on class style
  #4   Spotlight this post!  
Unread 13-10-2014, 13:12
Katie_UPS's Avatar
Katie_UPS Katie_UPS is offline
Registered User
AKA: Katie Widen
no team
Team Role: Engineer
 
Join Date: Feb 2008
Rookie Year: 2008
Location: Wisconsinite lost in Texas
Posts: 957
Katie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond reputeKatie_UPS has a reputation beyond repute
Re: Advice for teaching new students

If you're using Java, Codebat.com seems to have (read: I haven't used it, but looked at it) some good practice exercises that can help solidify concepts. LearnJavaOnline also seems to be a good walk-through website, but the "read this and go" method will most likely not go over well as its pretty boring.

If you have the resources, I high recommend doing some sort of class-room style teaching where you teach the basic ideas (variables, loops, syntax, etc) and then having a "lab" portion, where students are given tasks/goals and are able to code on their own or in pairs. You and your fellow programmer can oversee this portion and answer questions as they come up. You don't have to dive into robot-specific coding right away, but if you have a robot on hand that you can deploy code to, it would be most relevant/interesting for the newbies to have activities/tasks that are related to actual robot-coding.

If you do multiple days of this, where each day is a lecture followed by a lab, you could, in the least, get students comfortable with basic programming. The most you could achieve really has no bounds.

Its worth noting that the best way to learn programming is by programming.

Last edited by Katie_UPS : 13-10-2014 at 13:17.
  #5   Spotlight this post!  
Unread 13-10-2014, 14:02
Zach101's Avatar
Zach101 Zach101 is offline
Oh captain, my captain
AKA: Zach Hagen
FRC #2512 (Duluth East Daredevils)
Team Role: Tactician
 
Join Date: Dec 2013
Rookie Year: 2014
Location: Duluth, Minnesota
Posts: 140
Zach101 has a spectacular aura aboutZach101 has a spectacular aura aboutZach101 has a spectacular aura about
Re: Advice for teaching new students

Quote:
Originally Posted by BriteBacon View Post
Teach them before build season on the basics. This will also help filter out people who aren't 100% serious on joining the programming team. In the past our team has recoded our old robots so the new students can get the actual experience they need before build season.
I agree. Have them see what they are getting into first and see if they actually want to get involved in programming. Then if they do get into programming then see what they are strong at in programming and what they have trouble with. Also be patient with them cause some will learn really fast and some will learn really slow. Don't get inpatient if one person is way behind than the others and a few people are super far ahead than others. Get a pace going and set that pace. That will make students a lot less frustrated if you suddenly speed up or slow down. Doing this all before build season will be hard but you can always set up times with students to help them with something. Whether its after school or before or during the weekend.

I hope this helps!!!!
  #6   Spotlight this post!  
Unread 13-10-2014, 14:50
Oblarg Oblarg is offline
Registered User
AKA: Eli Barnett
FRC #0449 (The Blair Robot Project)
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2008
Location: Philadelphia, PA
Posts: 1,116
Oblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond repute
Re: Advice for teaching new students

Make sure that your programmers don't only know programming. I've found that ensuring programmers have a healthy understanding of electronics and mechanics serves several purposes:

1) For those students who don't continue with programming (there will be many of them, trust me), it provides a much easier transition to productive work elsewhere on the robot

2) For those students who do continue with programming, it makes them far better at their job - you can't program all that well if you don't understand the mechanisms that you're trying to control.

3) In general, I think it is good pedagogy to have every student have some level of understanding of all that goes into making the robot function, even outside of their specialization.
__________________
"Mmmmm, chain grease and aluminum shavings..."
"The breakfast of champions!"

Member, FRC Team 449: 2007-2010
Drive Mechanics Lead, FRC Team 449: 2009-2010
Alumnus/Technical Mentor, FRC Team 449: 2010-Present
Lead Technical Mentor, FRC Team 4464: 2012-2015
Technical Mentor, FRC Team 5830: 2015-2016

Last edited by Oblarg : 13-10-2014 at 15:55.
  #7   Spotlight this post!  
Unread 13-10-2014, 15:49
Misty Dawn Misty Dawn is offline
Registered User
AKA: Misty Sposato
FRC #0195 (Cyber Knights)
Team Role: Mentor
 
Join Date: Sep 2012
Rookie Year: 2011
Location: Southington, CT
Posts: 5
Misty Dawn is an unknown quantity at this point
Re: Advice for teaching new students

We have a big team as well and lots of the new members want to program. We are running weekly programming classes now. We started in September - our 2 Lead Programming Mentors are teaching this class. This will also weed out any that decide they don't want to continue this sub-team later on.
Also, during the summer - our lead programmers take our robots home and hold programming classes during the summer for our up and coming programmers. This has been hugely successful!! Our past two years the top programmers attended the summer classes from the previous programmers and they were very grateful for the chance to see how their programming works with the actual robot. They had to learn to program the robot in multiple languages - we never know which one we will use -depends on the game, robot and the programmer.
  #8   Spotlight this post!  
Unread 13-10-2014, 17:39
weaversam8 weaversam8 is offline
Team Captain
AKA: Sam Weaver
FRC #4534 (Wired Wizards)
Team Role: Leadership
 
Join Date: Jan 2014
Rookie Year: 2014
Location: Wilmington, North Carolina
Posts: 137
weaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to behold
Wow guys! Thanks for all the helpful responses! I will show this to my other programmer and we can decide how to move forward.
__________________
ORB Haow!

  #9   Spotlight this post!  
Unread 13-10-2014, 22:44
alecmuller's Avatar
alecmuller alecmuller is offline
Registered User
FRC #2342 (Phoenix Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2007
Location: New Hampshire
Posts: 51
alecmuller will become famous soon enoughalecmuller will become famous soon enough
Re: Advice for teaching new students

So technically this is a CAD-related post, but if your team has grown recently like ours has, you might be training a bunch of new people in CAD as well as software.

Our team uses SolidWorks for CAD (we got 25 free seats from them last year - I'm not sure where you go, but it's possible), but I wasn't happy with the tutorials that come with SolidWorks (they're nice and all, but not very closely related to what we do in FRC), so I made two of my own. New students were able to get through each of them - with help getting unstuck from me and other experienced users - in about 2 hours each.

Click "Download All" and look for the PDF, which walks you through the tutorial.

https://grabcad.com/library/frc-soli...ox-and-motor-1

https://grabcad.com/library/solidwor...all-gatherer-1

Good luck with preseason training,
Sincerely,
Alec Muller
Team 2342 Mechanical Engineering Mentor
  #10   Spotlight this post!  
Unread 14-10-2014, 09:52
weaversam8 weaversam8 is offline
Team Captain
AKA: Sam Weaver
FRC #4534 (Wired Wizards)
Team Role: Leadership
 
Join Date: Jan 2014
Rookie Year: 2014
Location: Wilmington, North Carolina
Posts: 137
weaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to beholdweaversam8 is a splendid one to behold
That's awesome @alecmuller! We are interested in CAD.
__________________
ORB Haow!

  #11   Spotlight this post!  
Unread 22-10-2014, 00:01
mplanchard mplanchard is offline
Marie Planchard, SolidWorks
no team
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2004
Location: Massachusetts
Posts: 469
mplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond reputemplanchard has a reputation beyond repute
Re: Advice for teaching new students

For SOLIDWORKS

Software sponsorship now. Www.solidworks.com/First

New 25 videos on making a competitive robot

http://m.youtube.com/playlist?list=P...W-gEKDxfWgShwG
__________________
  #12   Spotlight this post!  
Unread 22-10-2014, 08:51
rsegrest's Avatar
rsegrest rsegrest is offline
@ least I'm OVER the rock THIS time
FRC #2582 (PantherBots)
Team Role: Coach
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Lufkin, TX
Posts: 415
rsegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant futurersegrest has a brilliant future
Re: Advice for teaching new students

Like the OP we have had massive team growth this year. This has been a great thread and I appreciate all the responses. I am a teacher in Texas and we have an official Robotics and Automation class offered under the CTE curriculum. In looking online at the posted lesson plans for the course it follows the FRC model. I am posting the link to the lesson plans below. I hope that it helps someone else as much as the posters her have helped me.

Have a great day!

http://cte.unt.edu/stem/curriculum/robot-autom
__________________
Impossible is just a big word for small men who find it easier to live in the world they've been given than to explore the power they have to change it. Impossible is not a fact. It's an opinion. Impossible is not a declaration. It's a dare Impossible is potential. Impossible is temporary. Impossible is nothing.
~ Unknown
  #13   Spotlight this post!  
Unread 22-10-2014, 09:00
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,102
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: Advice for teaching new students

I've tried teaching students in a class-like setting, and I've found that I'm pretty bad at it, and they tend to forget what I've told them. Instead, I've found that 'learning by doing' is more effective.

What I did this year is create a repository that they can clone to their computer (link below -- we're using python), and they are instructed to solve various 'challenges', that bring them through the language's basic features as they move on. To check to see if they 'pass' the challenge, it runs a bunch of unit tests that check to see if they followed instructions. We did something similar last year with good results, but it wasn't as comprehensive.

We've been doing it a few weeks, and I think the students have gained a greater understanding of the language. After we finish this, then we'll start using the pyfrc robot simulator to start creating code that could actually run on a robot, to solve similar types of challenges.

https://github.com/frc1418/pybasictraining.git
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
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 02:52.

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