Composing precise, logical sequences of instructions that direct the actions of a computer or computer system.