Go to Post If you're a spectator that's going to complain about a "bad" call, you darn well better know for a FACT that the call was "bad". - AmyPrib [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Events   CD-Media   CD-Spy   FRC-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 11-25-2006, 03:30 PM
Dakota Snow's Avatar
Dakota Snow Dakota Snow is offline
Registered User
FRC #0957 (WATSON)
Team Role: Engineer
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Albany, OR
Posts: 6
Dakota Snow is an unknown quantity at this point
Lightbulb learning programing

our team has almost all new members and all of our programmers left this year. I need to teach our team how to program but I only know the basics. I need a good way to teach my team. HELP!!!!!!!!!!!!!!
  #2   Spotlight this post!  
Unread 11-25-2006, 03:33 PM
chris31 chris31 is offline
Team 2021 Captain
AKA: Chris Davidson
FRC #2021 (FA Robotics)
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 2006
Location: Atlanta, GA/ Fredericksburg,VA
Posts: 950
chris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond repute
Send a message via AIM to chris31 Send a message via Skype™ to chris31
Re: learnign programing

Maybe you should use EasyC this year. I havent used it yet but i hear teams with no programming knowledge have used it with ease. There are some PowerPoint slides on C on usfirst.org. Have them get knowledge of C before the season starts and learn the default code.
  #3   Spotlight this post!  
Unread 11-25-2006, 03:52 PM
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,016
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: learnign programing

In terms of actually learning C, I'd recommend hitting up something like Topcoder that has a bunch of tiny challenges to do. The 250pt challenges are about the same programming difficulty you'll encounter programming the robot, and give you something to work towards as well as objective accomplishments (say to them "each of you complete 5 250pt practice room problems"). You can view other people's code in the practice rooms, so if you're ever curious about syntax there are lots of examples.

Basically, I find that in order to learn, you need something to make. Basically anything will do, but Topcoder supplies the 'something to do' without it being too difficult.

http://www.topcoder.com

Actually programming the robot on a basic level isn't terribly difficult. You just modify the values of some variables (pwm01,pwm02,pwm03...) between 0 and 255, and like magic the motors turn.
  #4   Spotlight this post!  
Unread 11-25-2006, 04:10 PM
efoote868 efoote868 is online now
foote stepped in
AKA: E. Foote
no team
Team Role: Alumni
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Appleton, WI
Posts: 933
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: learnign programing

teaching others programming is really difficult... its something that must be experienced. I found that learning programming through the edubot was fun, and that it couldn't go on rampage and kill people
__________________
Former member / mentor of FRC team 868
Go TechHOUNDS!


  #5   Spotlight this post!  
Unread 11-25-2006, 05:25 PM
theycallhimtom theycallhimtom is offline
Registered User
AKA: Tom Conerly
FRC #1540 (The Flaming Chickens)
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Lake Oswego, Oregon
Posts: 52
theycallhimtom has a spectacular aura abouttheycallhimtom has a spectacular aura abouttheycallhimtom has a spectacular aura about
Send a message via AIM to theycallhimtom Send a message via MSN to theycallhimtom
Re: learnign programing

I think when teaching people to program get them testing on a robot quickly. Personally I love competing in TopCoder and practicing for it but I'm not sure if students will be that interested in TopCoder problems as they usually are pointless problems. What we do is start with some basic simple problems that involve the robot. For example make two joy stick drive and then one joy stick drive. Start very simple so they students can easily get something done then expand from there. I haven't tried easyC (it crashed first few times I tried) but if that works go for it.
  #6   Spotlight this post!  
Unread 11-26-2006, 10:55 AM
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 Send a message via Skype™ to EHaskins
Re: learnign programing

Look here http://www.usfirst.org/robotics/C_help.htm. The power point files are fairly good. If you watch those you should be able to make you robot move. If you want your robot to use any sensors look at kevin's site www.kevin.org.

If you have any wuestions e-mail me.
__________________
Eric Haskins KC9JVH
  #7   Spotlight this post!  
Unread 11-27-2006, 12:30 PM
Unsung FIRST Hero
Mike Betts Mike Betts is offline
Electrical Engineer
no team
Team Role: Engineer
 
Join Date: Dec 2001
Rookie Year: 1995
Location: Homosassa, FL
Posts: 1,443
Mike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond reputeMike Betts has a reputation beyond repute
Re: learning programing

Dakota,

I have had mixed success in using this excerpt from The Bible.

Some students respond to long lectures, most fall asleep. As such, I assign about 40 pages of the tutorial as a reading assignment and answer questions the students have on the reading. I also give a few supplemental lectures on bit manipulation, integer arithmetic, state machines and interrupts (all of which are non-C specific topics).

In parallel, I try and get the students to program as soon as possible. I have found the VEX system to be a great platform for this (I totally agree with Foote in post 4). Make their first task as simple as possible. Even reversing the direction of a motor will boost their confidence immensely. As soon as they get their feet wet, most will wade into the water with little more encouragement.

I would also suggest that you steer away from EasyC. C will be a little harder on the front end but much easier in the long run.

I have not encountered an 8th or 9th grader who was unable to learn C to program a robot if he or she gives it some effort and has a resource to ask questions of. If they are unwilling to read 40 pages, I don't think that there is a tutorial in the world which can help.

Good Luck,

Mike
__________________
Mike Betts

Alumnus, Team 3518, Panthrobots, 2011
Alumnus, Team 177, Bobcat Robotics, 1995 - 2010
LRI, Connecticut Regional, 2007-2010
LRI, WPI Regional, 2009 - 2010
RI, South Florida Regional, 2012 - 2013

As easy as 355/113...
  #8   Spotlight this post!  
Unread 11-27-2006, 01:23 PM
RKElectricalman's Avatar
RKElectricalman RKElectricalman is offline
Meezy the Mentor
AKA: Rameez
FRC #0384 (Sparky 384)
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 2004
Location: Richmond, Va
Posts: 88
RKElectricalman is just really niceRKElectricalman is just really niceRKElectricalman is just really niceRKElectricalman is just really nice
Send a message via AIM to RKElectricalman
Re: learning programing

Oh man, you're in the situation, that I was in about 3 years ago, as a rookie on my own team! I know it's not a good feeling, when the newer guys have to learn, and they're your backboard, because It was never a good feeling, going into build season knowing so little about programming, for me.

Learning to programming isn't always going to be simple, it's fairly hard, and the best way to learn trial and error. You have to teach them by letting them try it first. Set up a prototype, and give them simple task to accomplish such as getting the robot driving. Obviously you have to give them a background for it first, so you show them, let them look over your shoulder, give them a few pointers, and let them on there own way to try some coding! If you don't let them try, but instead just teach them, they'll think they know it all, and when they're finally need it they will run into as many problems as possible. Brown's Rule : Anything that can go wrong, will go wrong; and trust me I've been through that.

Let them experience all types of sensors, inputs, outputs, and operators. The more they KNOW they can do (with actuall testing) the more of the picture they can put together, and slowly they'll piece the picture together.

Since you only have a basic understanding, this is an awesome opportunity for you to learn alongside them. This way all of you will really be at the same par.
__________________
ahhh Division Finalists!!
  #9   Spotlight this post!  
Unread 11-27-2006, 05:29 PM
Jimmy Cao Jimmy Cao is offline
Registered User
AKA: Jimmy Cao
no team
 
Join Date: Sep 2006
Rookie Year: 2004
Location: San Francisco, CA
Posts: 295
Jimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant future
Send a message via Skype™ to Jimmy Cao
Re: learning programing

Programing is a hard thing to teach. I myself was never "taught" programing by any person or group of people. I took the initiative and read books.

First of all, I do not like the way Easy-C works, maybe it's just because i'm too used to normally programing. I tried to use Easy-C to program a Vex robot my team made, and it was very confusing. I could not figure out how to replace a if statement with an else if statement. Eventually i just programed it in MPLAB. So, point of the matter is i would not use Easy-C unless you have no other alternative.

I believe it will be extremely difficult to program if you do not want to learn. If the willingness to learn is there, then either find a quick online tutorial or a nice little book and go through it.

For simple programing, logic is the hardest part to understand. Learn to organize your code, and use comments to keep yourself/others nonconfused (is that a word). The syntax isn't too hard to learn for C, it's just a lot of memorization.

After getting past the basics, having a nice creative mind do your programing is nice. It's nice to be able to look at a robot (or a concept even) and think... "If I want this robot to do such-and-such, then I should program such-and-such functions".

Lastly, a quick tip. ALWAYS keep your complicated code organized. Especially when making long functions (Like our PID for the camera aiming system last year) it can become very easy to forget what each line does, making it impossible/almost impossible to debug.

Last edited by Jimmy Cao : 11-27-2006 at 05:35 PM.
  #10   Spotlight this post!  
Unread 11-27-2006, 07:28 PM
Tom Saxton's Avatar
Tom Saxton Tom Saxton is offline
Registered User
no team (Issaquah Robotics Society)
Team Role: Mentor
 
Join Date: Dec 2003
Rookie Year: 2003
Location: Sammamish, WA
Posts: 98
Tom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud ofTom Saxton has much to be proud of
Re: learning programing

Here's a link to some programming tutorials my wife (and fellow mentor) created to teach our students the basics of programming in C. She taught AP Computer Science for several years and used that experience write tutorials to get new programmers started.

http://idleloop.com/tutorials/introC/index.php

There's still some more work to be done, but we've had good success using these materials to train a new crop of programmers this year.

The tutorials intentionally avoid using C++ features that are not available when programming the robot, and everything is very platform agnostic for the same reason.

You learn to program by doing, not by reading, so read the materials, work the exercises and try the "further explorations." Once you get through the tutorials, you'll know enough about C that you can learn the specifics of programming the FIRST controller.

The kit of parts comes with sample code to get started and there other good sources of sample and library code on Chief Delphi. All of that will make a lot more sense once you have the basics of C down.

I'm always happy to answer questions about either the tutorials or programming the FIRST controller.
__________________
Tom Saxton
http://www.idleloop.com/
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Learning Photoshop Jeffel Computer Graphics 4 01-13-2005 10:08 PM
Learning Photoshop Jeffel IT / Communications 1 01-13-2005 06:11 PM
Learning disabilties Tytus Gerrish Chit-Chat 12 07-21-2003 03:19 PM
Learning 3dSmax!! Brian Wolz 3D Animation and Competition 5 01-08-2003 09:48 PM
learning Tyler Olds 3D Animation and Competition 3 05-07-2002 09:55 PM


All times are GMT -5. The time now is 08:20 AM.

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


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