a sequence of instructions written in a computer language.
 The base level of the machine (the hardare) runs machine code.
 The level above that is symbolic machine code (assembler).
 The level above that is a high-level language such as Eiffel.
 The level above that is routines that contain a sequence of instructions.