tsunami

log in
history

Learning to Program

Luke Breuer
2008-04-29 19:40 UTC

Introduction
Learning to program is really learning how to solve problems down to the last detail. Programming is about breaking down problems into parts, solving each part separately, and then recombining the parts into a whole. Most people are not used to thinking at the level of detail required by computers. Computers are dumb — if you do not tell them exactly what to do, chances are they will screw up (but you'll be blamed).
Links
Common Advice
Take a Class
  • motivation is provided
  • knowledgeable people are available
  • structure is provided
  • money & a somewhat regular time schedule is required
Have a Purpose
  • want to program for $$$?
  • want to just have fun?
  • want to see if you're interested in computer science?
Resources
  • Project Euler, a source of puzzles to solve and sharpen your skills
Language Choice
  • quality of [compiler] error messages
  • amount of syntax
  • quality of documentation
  • libraries (usefulness in doing what you want to do)

What do you want to do with the language?

It is really best to learn multiple languages so that you can separate what you are programming from how you are programming it.
Some options
  • Python
    • not much syntactic cruft
Common Problems
Getting material at the right level (based one what you know, right now) can be tricky. This is why college level courses tend to be good for learning how to program.
Core Concepts
Programming is all about input --> output. Larger programs function best when they are built out of input --> output "modules".
  • variables
  • input/output (console)
  • boolean algebra
  • if, for, foreach, while
  • functions
  • arrays
  • data structures
  • recursion
  • pointers
  • object oriented programming