List of instructions that a computer needs in order to complete a task
Instructions are provided in a programming language that the computer understands
These set of instructions are commonly referred as source code or a program