Computer program
A computer program tells a computer what the computer should do. A 'program' is a series of instructions to be executed in order. A computer program consists of a set of instructions that the computer understands.
A computer without a program does absolutely nothing.
The instructions in a computer program are in machine code; they are usually originally written in a computer programming language, and translated to machine code using a computer program called a compiler. Sometimes the programming language is simply a set of abbreviations for the machine code instructions, called assembly language -- in this case, a program called an assembler is used to make the translation.
It is sometimes used as a synonym for "software"; although the main part of any software is programs, software also often includes resource files that contain data of some kind; these are not part of the program per se. An abstract program is sometimes called an algorithm.
see also: Computer software, programming language, Turing machine