Algorithms: Thinking about tasks as a series of steps.

Decomposition: Solving a large problem involves solving a series of smaller problems.

Pattern recognition: New problems are likely to be related to previous problems.

Generalisation: A solution to one problem can be used to solve related problems.