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