Go to Post The pen [may be] mightier than the sword, but the bandsaw can chop them both. - Marc P. [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
  #31   Spotlight this post!  
Unread 21-05-2010, 22:34
kenavt's Avatar
kenavt kenavt is offline
Registered User
AKA: Colin S
no team
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Ann Arbor
Posts: 253
kenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond repute
Re: Starting programming...

Quote:
Originally Posted by Andrew Schreiber View Post
Canada, 2337 will be running some training for programmers over the summer. I've just been busy with work and haven't worked it out with Clinton. As far as what you can do to get a jump on it. If you want to learn C++ there are a handful of books out there (check your local library). For Labview there are a series of tutorials available online. For Java, I'm not sure what resources exist but I have a handful of Java books I could loan you if you can't find anything. As far as I am concerned I will use whatever language the students want to use. At any rate, you can't go wrong with whatever language you pick. The thought process behind programming is the hard part. Run through Project Euler, finding primes has nothing to do with robots but it will teach you the syntax, it will teach you how to think through a problem too.

Good luck, have fun!
Thanks, Schreiber, I can’t wait for that. I wouldn’t mind borrowing a Java book (perhaps later on in the summer) if you don’t mind.
Quote:
Learning a particular programming language is no where near as important as learning the basics of programming.

For example, learn some of the basic programming structures like:
Sequential code
Subroutine
GoTo or Jump
If-then-else
Case
Do While-Do Until

Learn how to define a problem through reiterative decomposition, a fancy way of saying: break down a problem into smaller components until you can solve it

Learn good programming practices like code reuse, code refactoring, encapsulation. There is a lot of good practices in the object oriented realm to help you write good reusable code.

Know your problem domain. If you are writing code for robots, you need to know different things than if you are writing code for an accounting system. I have yet to use the concept of debits and credits when writing for our robot, and never once needed to filter the noise out of a potentiometer for a AR Aging report ;>

So focus more on the fundamentals of programming, after that, picking a language is usually driven by the environment you are working in, or what you have available at the time. But if you know the fundamentals, it doesn't really matter much which language you end up in.
Quote:
Oh and no matter what language you are learning, books and tutorials can only go so far. Real understanding of the language comes from looking at examples and analyzing every single line (or block) of code in it, knowing exactly how it works and what is happening in that line. That's where the "programmer's mindset" comes from. Not knowing to type in this line here, but knowing why typing this line here does what it does.
Thank you very much! That seems to be how to really become a programmer, especially from what I’m hearing from everyone. Thanks a lot, guys!
Just a quick question: What is the difference between high-level and low-level languages? Thanks!
__________________
University of Michigan Computer Engineering '17

FRC 2337 student alumni (2010-2013)
  #32   Spotlight this post!  
Unread 21-05-2010, 23:01
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: Starting programming...

Quote:
Originally Posted by kenavt View Post
Thank you very much! That seems to be how to really become a programmer, especially from what I’m hearing from everyone. Thanks a lot, guys!
Just a quick question: What is the difference between high-level and low-level languages? Thanks!
In general, a high-level language abstracts you from the hardware and how it actually works. LabVIEW is a big one, Java too, C++ is somewhat up to this level. low-level languages are ones that expose all of the power of the machine to you, but a side effect of that is making the programming much, much harder (assembly for example)
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
  #33   Spotlight this post!  
Unread 22-05-2010, 03:10
Andrew Schreiber Andrew Schreiber is offline
Joining the 900 Meme Team
FRC #0079
 
Join Date: Jan 2005
Rookie Year: 2000
Location: Misplaced Michigander
Posts: 4,069
Andrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond reputeAndrew Schreiber has a reputation beyond repute
Re: Starting programming...

Quote:
Originally Posted by JamesBrown View Post
I am still waiting for the day I find a problem that requires me to use Haskell, I had to learn it for a class and am yet to find a situation to apply that knowledge (ProLog falls into this category too).
I know the feeling, Haskell feels powerful but I have never found a good problem for it. Prolog might be able to guess at alliance selection orders if you could nail down the right rules. (I have some work done in Lisp on this but it was the end of term and I was exhausted) Actual thought from earlier today, "What do you mean I have to define the data structure? It is just a freaking tuple!"
__________________




.
  #34   Spotlight this post!  
Unread 22-05-2010, 04:01
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,187
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Starting programming...

Quote:
Originally Posted by rsisk View Post
For example, learn some of the basic programming structures like:
  • GoTo or Jump
Don't use that.
  #35   Spotlight this post!  
Unread 22-05-2010, 12:05
rsisk's Avatar
rsisk rsisk is offline
The GURU Channel
AKA: Richard Sisk
FRC #2493 (Robokong)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Riverside, CA
Posts: 2,750
rsisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond repute
Send a message via MSN to rsisk
Re: Starting programming...

Quote:
Originally Posted by Tom Bottiglieri View Post
Don't use that.
I agree you shouldn't have a need for a GoTo, but it is a fundamental programming structure and you should know it.

Most of the times a jump is needed is already dealt with by the compiler, such as in Try/Catch blocks, subroutine returns, jump tables, etc. In these cases, the compiler will generate a jump instruction in the low level language to perform a high level function.

Using a GoTo in your code tends to indicate poor coding and sloppiness. If you find you need one, review your code and try to find a better way to code it.
__________________
Quote:
The views expressed are mine and should not be construed to represent the views of anyone else.
  #36   Spotlight this post!  
Unread 22-05-2010, 15:00
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,113
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: Starting programming...

Quote:
Originally Posted by rsisk View Post
I agree you shouldn't have a need for a GoTo, but it is a fundamental programming structure and you should know it.
I disagree. It is not a programming structure at all. If you want to learn how to program, it should not even be mentioned.

The distinction I wish to make is between programming and coding. Programming involves analysis of the problem and design of a solution, including the algorithms and data structures used in the design. Coding merely implements a solution on a specific target. There can be valid reasons for including unconditional jump instructions in an particular implementation, but I do not think they are ever warranted in a program's design.
  #37   Spotlight this post!  
Unread 22-05-2010, 21:28
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,101
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: Starting programming...

Quote:
Originally Posted by Alan Anderson View Post
There can be valid reasons for including unconditional jump instructions in an particular implementation
Steve McConnell gives an excellent example on Page 352 of his classic book Code Complete


~
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
Programming in Python and Explaination of Programming roboxking Programming 22 07-01-2008 16:08
programming motors with programming kit BorisTheBlade FIRST Tech Challenge 4 01-11-2005 19:03
[FVG]: Programming Starting Mike Ciance FIRST-related Organizations 1 11-12-2004 13:22
Starting position? Mark Garver General Forum 4 06-01-2003 07:45


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

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