Programming
1. Specify computation
2. Using a finite-length expression, specify arbitrarily
long computations using looping or recursion.
3. Key criterion is that the program description be
effective, so that a computer really can
interpret/compile and execute it.