Programmes and instructions that direct a computer. Contrast with hardware.