A collection of instructions that performs a specific task when executed by a computer.