Computer programming is a subset of Computer Science and is related to Software Engineering. Computer programming is the act of creating computer programs to perform tasks ranging from simple calculations to complex games.
While there are many guidelines, there are no rules which are guaranteed to produce a correct and usable program, so programming is very much an art or skill rather than a science. Furthermore, a programmer must pay meticulous attention to detail: a moderately large program of say 150,000 instructions must be completely free of punctuation errors, grammatical errors, and spelling mistakes, and must also be largely free of logical errors (as a size comparison, a 400-page paperback book contains about 16,000 lines - 1/10th the size). Despite handling all the details, a programmer must also keep an eye on the wider picture so that all parts of a program contribute effectively to the desired end result.
Various studies have found that programmers with a comparable amount of experience may differ in skill levels by a factor of 10 or more.
A lot of free software (of varying quality) is available via the internet which allows one to experiment with many different programming languages.