•Programmers begin with an algorithm, which is:
–A set of step-by-step instructions (written in a natural language, e.g., English)
•Algorithms are ambiguous, error-prone generalities
•Algorithms are translated into the vocabulary of a programming language