Go to Post In the end, we were successful, but the tale is one of such stupidity that it should be engraved in drool upon a failed math test. - AmLameBro [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-14-2010, 01:03 PM
LeelandS's Avatar
LeelandS LeelandS is offline
Robots don't quit, and neither do I
AKA: Leeland
FRC #1405 (Finney Falcons)
Team Role: Tactician
 
Join Date: Nov 2007
Rookie Year: 2005
Location: Webster, NY
Posts: 545
LeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond repute
New Student Training

Greeting Delphi Community,

I'm on Team 1126, where I am the Software team lead. As part of a new project, we're holding small sessions over the Summer to experiment with new code methods. In addition, we're inviting potential new students to attend these sessions to familiarize themselves with our level of programming.

And here's the problem:
Our method of training leaves much to be desired. Right now, all we do it basically walk the new students through the code, and explain what each section does. Fine, in theory, but we're looking for a more... interactive approach.

So, I'm asking if anyone has any suggestions on ways to train new students. Each of the new students knows the basics of JAVA syntax, so we're not looking for a way for them to learn JAVA, but for a way for them to get used to the level of coding we use for the robot.

(Also, if there is another sections of the Forums for this topic that I missed, could you please be so kind as to direct me to it? Thank you.)

Thanks in advance for any suggestions!

-Leeland
__________________
My heart will forever lie with SparX
1126: 2008 - 2011; Where it All Began.
1405: 2013 - Present; A Wanderer is Born.

Work hard, play hard. And maybe someday...
Reply With Quote
  #2   Spotlight this post!  
Unread 08-14-2010, 03:42 PM
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,997
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: New Student Training

Quote:
we're holding small sessions over the Summer to experiment with new code methods
could you please elaborate a bit on what you mean by the phrase "new code methods"?

Quote:
Each of the new students knows the basics of JAVA syntax, so we're not looking for a way for them to learn JAVA, but for a way for them to get used to the level of coding we use for the robot.
could you please explain what you mean by "level of coding". do you mean coding style? or something deeper?

I think you'll better-targeted answers if you clarify a bit.

~
Reply With Quote
  #3   Spotlight this post!  
Unread 08-14-2010, 07:55 PM
EHaskins EHaskins is offline
Needs to change his user title.
AKA: Eric Haskins
no team (CARD #6 (SCOE))
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Elkhorn, WI USA
Posts: 998
EHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond repute
Send a message via MSN to EHaskins
Re: New Student Training

Whenever possible I've found letting students learn trying is the best option.

What I've tried in the past is to assign each student a logical subsection of code (arm control, drive control, driver feedback, etc.), remove that piece from the existing code, and let them try to recreate a functional version of it.

Here are a few rules I've used for this method:
  • Do not show them your final code.
  • Answer any questions they have, but don't show them how to write it.
  • Start simple. Don't use sensors/feedback if possible, reduce the requirements to the minimal needed to get the robot to do anything.
  • During this process suggest they follow any code conventions/source control processes you use.
  • Once their code does anything increase they reqirements adding sensors/feedback, more advanced input/motor mappings, etc.

An alternative to this is to give them the final code, and ask them to add some functionallity. However I find that the additional functionallity usually wasn't implemented for a good reason, often difficulty.

You can also do this is pairs/groups, but that usually leads to only one person learning/doing anything unless they have coded together before.
__________________
Eric Haskins KC9JVH

Last edited by EHaskins : 08-14-2010 at 07:58 PM.
Reply With Quote
  #4   Spotlight this post!  
Unread 08-14-2010, 08:59 PM
LeelandS's Avatar
LeelandS LeelandS is offline
Robots don't quit, and neither do I
AKA: Leeland
FRC #1405 (Finney Falcons)
Team Role: Tactician
 
Join Date: Nov 2007
Rookie Year: 2005
Location: Webster, NY
Posts: 545
LeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond reputeLeelandS has a reputation beyond repute
Re: New Student Training

Quote:
Originally Posted by Ether View Post
could you please elaborate a bit on what you mean by the phrase "new code methods"?



could you please explain what you mean by "level of coding". do you mean coding style? or something deeper?

I think you'll better-targeted answers if you clarify a bit.

~
I'm sorry. It seems I was a bit vague in my post.

When I say new code methods, I mean different ways to write out code to make it more effective. Currently, we are experiments with PID loops, but we're gonna hold off on letting the new kids experiment with new stuff until A) They're more familiar with the rest of the code and B) We (the returning students & mentors) are more familiar with it, so we can help them understand it better.

Also, by level of coding, I mean the general difficulty of writing the code. The schools our team is made up of offers a Java course, which both of the new students have taken, but the class teaches nothing like coding to operate motors or sensors or anything like that. So, what we're trying to do is introduce them to this new level of coding so they have an idea of how to write the robot code WITH the motor control and sensors.

I hope that clarifies things.
__________________
My heart will forever lie with SparX
1126: 2008 - 2011; Where it All Began.
1405: 2013 - Present; A Wanderer is Born.

Work hard, play hard. And maybe someday...
Reply With Quote
  #5   Spotlight this post!  
Unread 08-14-2010, 09:37 PM
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,997
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: New Student Training

Quote:
When I say new code methods, I mean different ways to write out code to make it more effective. Currently, we are experiments with PID loops...

Also, by level of coding, I mean the general difficulty of writing the code. The schools our team is made up of offers a Java course, which both of the new students have taken, but the class teaches nothing like coding to operate motors or sensors or anything like that. So, what we're trying to do is introduce them to this new level of coding so they have an idea of how to write the robot code WITH the motor control and sensors.
It sounds like the problem is not coding but rather control theory. It sounds like what these students you are attempting to train to "code at a new level" with "new methods" actually need is an introduction to control theory to give a foundation to build on.

There are lots of online resources available. If the students are motivated self-learners, they may be able to pick up enough by going through some online tutorials or overviews... but it might be faster and less frustrating if there's a mentor who could teach it in a more easily digestable form, with more practical advice and less theory.

http://tinyurl.com/Control-Theory-PPT

http://tinyurl.com/BasicControlTheory


~

Last edited by Ether : 08-14-2010 at 10:12 PM.
Reply With Quote
  #6   Spotlight this post!  
Unread 08-15-2010, 04:59 PM
klee17's Avatar
klee17 klee17 is offline
software lead and slave driver
AKA: Keenan Lee
FRC #1126 (Sparx)
Team Role: Leadership
 
Join Date: Jan 2010
Rookie Year: 2010
Location: webster
Posts: 4
klee17 is an unknown quantity at this point
Send a message via Yahoo to klee17
Re: New Student Training

well im not sure if this will help but, the incoming students have a basic understanding of Java and coding in general. they have some experience with the use of methods, but almost none with creating methods and reading documentation. and none of them have any experience with programing without a clear and defined goal. this is just adding on to my teammates analysis.
Reply With Quote
  #7   Spotlight this post!  
Unread 08-16-2010, 10:56 AM
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: New Student Training

I suggest that you assign the programmers a challenge involving a simple action done by the robot. One example is to make an omni bot drive around in a circle autonomously, but there is a catch: do it while it faces the same side where the side with 2 wheels is the front. It was what my mentor challenged me to do at the beginning, I did not accomplish it. I got very close, but the robot slips, so I can not get a good circle. Since I have been programming for the computer for years, I had a rough start. Since it actually takes time for the actuators to actually do their thing, for loops weren't a good idea when controlling actuators since it when through the loop every cycle. That being said, I went basic to the basic on last year's robot. I have not even made a class, it was just straight up C style coding, which I personally do not like. Object oriented is the way to go for my autonomous project. Well I digress, give the programmers little blocks of time to actually run the code on the robot, while the others code their own solutions. Award the first one to finish correctly and find if any one did it more efficiently.
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
Reply With Quote
  #8   Spotlight this post!  
Unread 08-16-2010, 07:03 PM
delsaner's Avatar
delsaner delsaner is offline
With Upmost Efficiency
AKA: Eric DelSanto
FRC #1676 (Pascack Pioneers)
Team Role: Alumni
 
Join Date: Dec 2007
Rookie Year: 2007
Location: New Jersey
Posts: 823
delsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant futuredelsaner has a brilliant future
Re: New Student Training

One thought could be showing the new students the code from last year; what each program looked like and how said level of programming works.

Afterwards, give them a task relating to that level of programming (have them write a program for a standard tank-drive chassis, etc.), check up on each of the students and correct them on what they are doing and how they can make their program better.

Before the meeting is over, gather all of the students and review the code for the program.

Its so the students get hands-on work of intermediate/advanced programming, and they will learn the thought process in the end. Hope this helps!
__________________
"The creations of the hand are confined by reality. The creations of the mind know no such limits."
~MtG - Mind Unbound

Eric DelSanto
Game Announcer
H.E.R.E. Representative
Stevens Institute of Technology - Class of 2016 - BE/ME Mechanical Engineering
Concentration: Robotics, Mechatronics


[2008-2014]: FRC 1676 - The Pascack Pi-oneers
Reply With Quote
  #9   Spotlight this post!  
Unread 08-16-2010, 08:03 PM
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: New Student Training

Well my philosophy is that you can't teach someone how to program, just give them a push in the right direction. They have to learn for them selves.
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
New TipJar Training Video - Autonomous Mode and LabVIEW Training Giveaway LVMastery NI LabVIEW 3 01-28-2009 07:06 AM
New TipJar Training Video - Making Friends with the FRC Advanced Robot Framework LVMastery Programming 0 01-05-2009 02:54 PM
LabVIEW Training and new control system demonstration 10/17-10/19 in Frazier Park, CA Joe Ross NI LabVIEW 0 09-25-2008 01:25 PM
Senior Programmer: advice on training new recruits Jeff_Rice Programming 9 01-04-2005 04:59 PM


All times are GMT -5. The time now is 07:33 AM.

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