a sequence of one or more lines of code that has a defined name. When the routine name is seen, the routine definition is found and the routine is called. Calling a routine means the instructions in the routine are executed as a single (high-level) unit.