the human-readable version of a program created in a high-level language by a programmer
a collection of computer instructions written in a human-readable programming language.
- computer hardware does not understand high-level languages - source code must be translated into a language the computer understands