User
A set of instructions to solve a problem
An automatic recognition of patterens
When a problem is broken down to make it easier to tackle
Removing a part of an algorithm to look at it on its own