Go to Post Not all current students are math dummies. Not all 1960's students were math geniuses either. - Clem1640 [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 25-03-2008, 21:08
pogenwurst pogenwurst is offline
Ubuntu User
AKA: Brian
FRC #2007 (Robots of the Round Table)
Team Role: Leadership
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Duluth, GA
Posts: 78
pogenwurst is on a distinguished road
Send a message via AIM to pogenwurst
Where to go from here?

This was my first year programming (well, most of my time ended up being spent troubleshooting hardware ) in the FRC, and I had a blast. I've loved computers since I first touched one, but until getting involved with this competition my interest in programming had been waning (something about the low-level "clean slate" of C interests me oh-so-much-more than my wanderings with PHP ever could).

I'm now eager to improve my skills for next season, since I took a "learn-as-you-go" approach this season, combining my marginal PHP experience with copious Google / CD searches.

However, I'd like some guidance from those who've been along this path before as to what would be a good approach to expanding my knowledge, both in terms of general programming and more robotics-related topics (navigation, noise filtering, etc).

Would it be worth my time to start out with a basic C book and work up from there? Should I dive right into data structures and algorithms? Should I work on improving my mathematics knowledge -- if so, in what topics -- discrete mathematics? calculus? Are there any specific books anyone can recommend? What would be a good platform to develop on? -- I'm thinking of buying an Arduino board.

Any guidance would be appreciated. If you'd like an idea of my current skill level, I know basic syntax and have delved some into bitwise operations and pointers, but have little else to go on aside from broad-but-thin conceptual knowledge of many CS topics.
  #2   Spotlight this post!  
Unread 25-03-2008, 21:15
SL8's Avatar
SL8 SL8 is offline
...
AKA: Jesus
FRC #0647 (Cyber Wolf Corps)
Team Role: Programmer
 
Join Date: Dec 2007
Rookie Year: 2008
Location: Killeen, Texas (Fort Hood)
Posts: 352
SL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud of
Send a message via Yahoo to SL8
Re: Where to go from here?

I have to say this is pretty much describes me , starting at build. 'cept I didn't have any coding experience.

If you learn the way I do, you might use the new google code search and read through the results, trying to figure it out yourself, and pick up a couple of books.

Otherwise, I would suggest starting on a slower pace starting with genral programming concepts and then try to pick up each language as you choose.

Either way, I think it is great that you want to expand you're horizons.
__________________


  #3   Spotlight this post!  
Unread 25-03-2008, 21:34
Branden Ghena's Avatar
Branden Ghena Branden Ghena is offline
Previously: tawnos23
FRC #0240 (TEMPEST)
Team Role: College Student
 
Join Date: Nov 2005
Rookie Year: 2004
Location: Houghton, Michigan (MTU)
Posts: 303
Branden Ghena has a spectacular aura aboutBranden Ghena has a spectacular aura aboutBranden Ghena has a spectacular aura about
Re: Where to go from here?

For me, at least, the way I exercise my programming skills is on my TI-83+ calculator.

After learning the commands which are similar to c but easier to use, I have made a lot of fun projects. My favorite was a sudoku program.

Plus, a benefit of calculator programming is that you can do it all math class long, and the teacher will never notice.
__________________
Branden Ghena - Michigan Tech Student and Team 240 Alumnus
Working Towards: Electrical Engineering and Computer Engineering Double Major

"All we have to decide is what to do with the time that is given to us." - Gandalf
  #4   Spotlight this post!  
Unread 25-03-2008, 21:37
SL8's Avatar
SL8 SL8 is offline
...
AKA: Jesus
FRC #0647 (Cyber Wolf Corps)
Team Role: Programmer
 
Join Date: Dec 2007
Rookie Year: 2008
Location: Killeen, Texas (Fort Hood)
Posts: 352
SL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud ofSL8 has much to be proud of
Send a message via Yahoo to SL8
Re: Where to go from here?

Quote:
Originally Posted by tawnos23 View Post
For me, at least, the way I exercise my programming skills is on my TI-83+ calculator.

After learning the commands which are similar to c but easier to use, I have made a lot of fun projects. My favorite was a sudoku program.

Plus, a benefit of calculator programming is that you can do it all math class long, and the teacher will never notice.
Same here..

De ja vu..

But yeah.. definitely, I've actually written a couple programs to find round about values to pid values and pwm values, along with many others. (games,math,formulas,).Something I figured out how to do in ISS.
__________________


  #5   Spotlight this post!  
Unread 25-03-2008, 21:50
Cow Bell Solo's Avatar
Cow Bell Solo Cow Bell Solo is offline
No Stolte No
AKA: Chris
FRC #2194 (Fondy Fire)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Minnesota
Posts: 381
Cow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the rough
Send a message via AIM to Cow Bell Solo Send a message via MSN to Cow Bell Solo Send a message via Yahoo to Cow Bell Solo
Re: Where to go from here?

I have to with the calcs but for 83 and the 89 titanium. Many programs and questions asked even by teachers.

But for myself I have been self taught (calc just trying out different codes and see what happens) but with other languages I usually get many books from the library and read them. For C a farely good one(I read this book front to back and wrote a report on it for lang. arts for reading credit, I worked on robot and school at the same time) but it was "C for Dummies" there are other books out there too. For other languages and they have been good books are the "Sam's Teach Yourself ______ in 24hrs, 24 days, 1 week, whatever length they are. It also helped with C and still learning is doing Google Searches when I forgot something, also having a mentor that somewhat knew C too and he could help me when I got troubled, and I helped him when he got troubled too.

But those are my suggestions.
__________________
Who let the Blue Smoke Out
Team 2194 Mentor - 2012-Present - http://fondyfire.com
Team 2207 Alumni - http://whitebearlakerobotics.com
Iowa FIRST LEGO League Planning Team Member - 2010-Present - http://www.isek.iastate.edu/fll
FIRST LEGO League volunteer - 2008-Present

2008: MN Regional Quarterfinalists, Website Excellence
2009: MN North Star Quarterfinalists, recognized for safety, Website Excellence
  #6   Spotlight this post!  
Unread 25-03-2008, 23:59
Jim E Jim E is offline
Registered User
FRC #1523 (M.A.R.S.)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Lantana, FL
Posts: 188
Jim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond reputeJim E has a reputation beyond repute
Re: Where to go from here?

Some community colleges offer summer classes on C programming. Look into that venue and earn some college credit along the way. The formal training may help in pointing out things you may gloss over from just trying to go through a book on your own.
__________________
Team MARS = 1.523 AU from the SUN!

Jim E.
  #7   Spotlight this post!  
Unread 26-03-2008, 07:33
Kingofl337's Avatar
Kingofl337 Kingofl337 is offline
You didn't see anything....
AKA: Adam
FRC #0501 (Power Knights)
Team Role: Mentor
 
Join Date: Feb 2005
Rookie Year: 1998
Location: Manchester, NH
Posts: 861
Kingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond reputeKingofl337 has a reputation beyond repute
Send a message via Yahoo to Kingofl337
Re: Where to go from here?

If your looking to learn more about programming Micro controllers here is a really good product from Atmel. The book is very good as well.

http://www.smileymicros.com/index.ph...e &PAGE_id=41
__________________
FIRST Team 501 PowerKnights - Mentor
FIRST Team 40 Checkmate - Mentor Alum
FIRST Team 146 Blue Lightning - Alumni
  #8   Spotlight this post!  
Unread 26-03-2008, 16:58
SteveJanesch SteveJanesch is offline
hopes he has enough oomph
FRC #1533 (Triple Strange)
Team Role: Mentor
 
Join Date: Apr 2007
Rookie Year: 2006
Location: Greensboro, NC
Posts: 103
SteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to beholdSteveJanesch is a splendid one to behold
Re: Where to go from here?

Brian,

My programming philosophy is that the program is the algorithm needed to do the job, not the syntax that a particular language requires to satisfy its compiler. You don't need to know the intricacies of C to get the 'bot to do the cool things you want - the basics of the language will get you there. You do need to know the math behind the robot behavior, though, and the subtleties of the control system. I'd steer you towards more math/physics stuff.

My main advice is to try to get access to robots (either by building them or finding them) with different drive trains and manipulators and see what you can to trying to program them. One huge advantage you have is that there are at least half a dozen other teams within about an arm's length of your home. I'd imagine you could get together with their programmers to get access to some old machines and see what you can learn.

Unfortunately, really learning this year's RC subtleties is of dubious value, since the control system is going to change next year. Still, it's easier to learn to do something if you've done it once before. An education is never wasted.

Getting the math background will help not just for programming the robot, but also in physics, trig, and calc classes. Think of the robot as a year-long physics lab, without having to write lab reports.

- Steve
  #9   Spotlight this post!  
Unread 26-03-2008, 18:23
starsROBOTICS starsROBOTICS is offline
Registered User
FRC #2276 (S.T.A.R.S)
Team Role: Engineer
 
Join Date: Mar 2008
Rookie Year: 2006
Location: texas, houston
Posts: 44
starsROBOTICS is on a distinguished road
Re: Where to go from here?

i am a beginner at programing too! i found that easyc is very useful but one thing that i don't understand is variables, macros, constants and arrays. What are they used for? And what kind of functions do they perform? Can you povide examples of codes and what the code does so i can understand it better?
  #10   Spotlight this post!  
Unread 26-03-2008, 20:47
pogenwurst pogenwurst is offline
Ubuntu User
AKA: Brian
FRC #2007 (Robots of the Round Table)
Team Role: Leadership
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Duluth, GA
Posts: 78
pogenwurst is on a distinguished road
Send a message via AIM to pogenwurst
Re: Where to go from here?

Thanks a bunch to all who replied.

I've been thinking about programming my TI83+, but right now my main issue is that I have no idea what I'd write for it. If I ever think of anything, I'll definitely give it a whirl.

Quote:
Originally Posted by Kingofl337
If your looking to learn more about programming Micro controllers here is a really good product from Atmel. The book is very good as well.
Yeah, I've heard of the Butterfly and it looks very cool. I'll probably go with an Arduino as a development platform instead, however, because while similar (it's also AVR-based), its open source nature is more in line with my choice of operating system (Linux) and associated software (I'm no zealot, but I prefer to go open when it's a viable option).

Quote:
Originally Posted by stj_1533
My programming philosophy is that the program is the algorithm needed to do the job, not the syntax that a particular language requires to satisfy its compiler. You don't need to know the intricacies of C to get the 'bot to do the cool things you want - the basics of the language will get you there. You do need to know the math behind the robot behavior, though, and the subtleties of the control system. I'd steer you towards more math/physics stuff.

My main advice is to try to get access to robots (either by building them or finding them) with different drive trains and manipulators and see what you can to trying to program them. One huge advantage you have is that there are at least half a dozen other teams within about an arm's length of your home. I'd imagine you could get together with their programmers to get access to some old machines and see what you can learn.
Hey, I remember seeing you guys at Peachtree!

That all sounds spot on to me, thanks. I'm thinking that a good course of action might be to begin perusing whatever useful math resources I can find (MIT OCW seems especially nice, particularly its free calculus textbook; if there are any resources you or anyone else can suggest that'd be fantastic), and then build a small robot of my own I can program in my free time (I'm leaning towards a Tamiya treaded chassis + a gear box set + an Arduino + some cheapish sensors, a servo, etc).

Quote:
Originally Posted by stj_1533
One huge advantage you have is that there are at least half a dozen other teams within about an arm's length of your home.
You're right on the mark with that, too.

It's also very nice to go to school literally minutes away from the regional.

Quote:
Originally Posted by starsROBOTICS
i am a beginner at programing too! i found that easyc is very useful but one thing that i don't understand is variables, macros, constants and arrays. What are they used for? And what kind of functions do they perform?
As someone who had some programming experience but not nearly enough, I found "Essential C" (a free PDF document) from Stanford's CS dept. to be particularly useful; you might want to take a gander at that.

Quick, generalized rundown:

Variables are quite a bit like "x", "y", etc in Algebra; they are little chunks of data read and manipulated in a program.

The easiest way (for me) to think of macros is as "find and replace" commands run at compile time by the compiler's preprocessor. They're used in various ways to make code cleaner and more organized (and programmers more sane [or less insane? ]).

Constants are variables stored in memory and read by the program just like any others, except that the programmer specifies them as unchangeable (thus constant), and the compiler will spit out an error if it finds code that tries to modify them.

Arrays are groupings of like variables (e.g. "unsigned int exampleArray[50];" declares a set of 50 unsigned integers, referred in the program as "exampleArray[0]", "exampleArray[1]", "exampleArray[2]" ... "exampleArray[49]" -- the counting goes 0-49 rather than 1-50).

Last edited by pogenwurst : 26-03-2008 at 20:49.
  #11   Spotlight this post!  
Unread 26-03-2008, 22:32
Cow Bell Solo's Avatar
Cow Bell Solo Cow Bell Solo is offline
No Stolte No
AKA: Chris
FRC #2194 (Fondy Fire)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Minnesota
Posts: 381
Cow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the roughCow Bell Solo is a jewel in the rough
Send a message via AIM to Cow Bell Solo Send a message via MSN to Cow Bell Solo Send a message via Yahoo to Cow Bell Solo
Re: Where to go from here?

Quote:
Originally Posted by stj_1533 View Post

Unfortunately, really learning this year's RC subtleties is of dubious value, since the control system is going to change next year. Still, it's easier to learn to do something if you've done it once before. An education is never wasted.

- Steve
How is the RC going to change, Is there a CD topic on this to read about
__________________
Who let the Blue Smoke Out
Team 2194 Mentor - 2012-Present - http://fondyfire.com
Team 2207 Alumni - http://whitebearlakerobotics.com
Iowa FIRST LEGO League Planning Team Member - 2010-Present - http://www.isek.iastate.edu/fll
FIRST LEGO League volunteer - 2008-Present

2008: MN Regional Quarterfinalists, Website Excellence
2009: MN North Star Quarterfinalists, recognized for safety, Website Excellence
  #12   Spotlight this post!  
Unread 26-03-2008, 23:27
Abrakadabra Abrakadabra is offline
Here We Go !!!
AKA: Scott Kukshtel, Mr. K
FRC #3467 (The Windham Windup!)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2002
Location: Windham, New Hampshire
Posts: 160
Abrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant futureAbrakadabra has a brilliant future
Re: Where to go from here?

Quote:
Originally Posted by Cow Bell Solo View Post
How is the RC going to change, Is there a CD topic on this to read about
Here is the original FIRST Email Blast announcement thread.

Nothing official has been announced yet, but there are plenty of rumors going around. The National Instruments cRIO unit seems to be a leading contender.

Just do a CD Thread Search on "cRIO" and check out the threads that pop up.

Word is that an official announcement and demo will be coming in Atlanta, so we don't have too much longer to wait!
  #13   Spotlight this post!  
Unread 27-03-2008, 19:35
starsROBOTICS starsROBOTICS is offline
Registered User
FRC #2276 (S.T.A.R.S)
Team Role: Engineer
 
Join Date: Mar 2008
Rookie Year: 2006
Location: texas, houston
Posts: 44
starsROBOTICS is on a distinguished road
Re: Where to go from here?

As someone who had some programming experience but not nearly enough, I found "Essential C" (a free PDF document) from Stanford's CS dept. to be particularly useful; you might want to take a gander at that.

Quick, generalized rundown:

Variables are quite a bit like "x", "y", etc in Algebra; they are little chunks of data read and manipulated in a program.

The easiest way (for me) to think of macros is as "find and replace" commands run at compile time by the compiler's preprocessor. They're used in various ways to make code cleaner and more organized (and programmers more sane [or less insane? ]).

Constants are variables stored in memory and read by the program just like any others, except that the programmer specifies them as unchangeable (thus constant), and the compiler will spit out an error if it finds code that tries to modify them.

Arrays are groupings of like variables (e.g. "unsigned int exampleArray[50];" declares a set of 50 unsigned integers, referred in the program as "exampleArray[0]", "exampleArray[1]", "exampleArray[2]" ... "exampleArray[49]" -- the counting goes 0-49 rather than 1-50).[/quote]

I can understand that but i need examples to explain to me what i need to use these functions for. Like are arrays used to help program relays? and what will it do to the relay? stuff like that
__________________
  #14   Spotlight this post!  
Unread 29-03-2008, 14:37
jc4p jc4p is offline
Registered User
AKA: Kasra Rahjerdi
FRC #2412 (Robototes)
Team Role: Alumni
 
Join Date: Feb 2008
Rookie Year: 2008
Location: Bellevue
Posts: 12
jc4p is an unknown quantity at this point
Re: Where to go from here?

I gotta say my story is a lot like yours. I'm a PHP programmer, had a very small amount of Java knowledge stored in my brain from years ago, and learned C as I went during the competition. (Turned out good for me, my autonomous period constantly crossed 3 lines!)
After the competition ended I was in the same situation as you, so I bought myself an Arduino, in fact I've started making myself an alarm clock that runs away from my body heat in the morning. I recommend you buy that Arduino you've been thinking about and make something awesome in the off-season.
  #15   Spotlight this post!  
Unread 30-03-2008, 10:37
pogenwurst pogenwurst is offline
Ubuntu User
AKA: Brian
FRC #2007 (Robots of the Round Table)
Team Role: Leadership
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Duluth, GA
Posts: 78
pogenwurst is on a distinguished road
Send a message via AIM to pogenwurst
Re: Where to go from here?

Quote:
Originally Posted by jc4p View Post
After the competition ended I was in the same situation as you, so I bought myself an Arduino, in fact I've started making myself an alarm clock that runs away from my body heat in the morning. I recommend you buy that Arduino you've been thinking about and make something awesome in the off-season.
Cool! Did you buy the Diecimila, or a different variant?
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
IS THERE ANYONE HERE FROM TEAM 292? tomereven Chit-Chat 5 10-05-2005 09:50
Where does your team go from here? Ryan Dognaux General Forum 13 14-04-2003 15:57
pic: People from 461 who post on here. CD47-Bot Extra Discussion 5 25-03-2003 09:54
it should be really quiet in here from now on. archiver 2000 1 23-06-2002 22:01
it should be really quiet in here from now on. archiver 2000 0 23-06-2002 22:01


All times are GMT -5. The time now is 01:47.

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