tsunami
log in
email
password
links
newest items
tag list
syntax reference
tag:tsunami
history
item name
tags
==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 - "older page I wrote"[1] - "SA A/T: 'tell me how to start learning to program'"[2] (04/13/2008) [1]http://luke.breuer.com/thoughts/learning_to_program.htm [2]http://forums.somethingawful.com/showthread.php?threadid=2824687 ==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"[1], a source of puzzles to solve and sharpen your skills [1]http://projecteuler.net/ ==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"[1] - not much syntactic cruft [1]http://www.python.org/ ==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
some permissive license goes here
contact