Martin McBride, 2016-12-14

Tags decomposition pattern recognition abstraction algorithm

Categories algorithms computational thinking

When we try to design a computer program to perform a task, or solve a particular problem, it is often useful to think about the possible solutions in particular ways. For example we might try to:

- analyse and organize any information we have about the problem.
- break the problem down into a set of smaller problems which are easier to solve - a process known as decomposition.
- look for similar problems which have already been solved, which might give you an idea how to solve the current problem - known as pattern recognition.
- determine the important features which define the problem, and avoid getting distracted by irrelevant details - a process known as generalisation or abstraction.
- consider how programming techniques such as iteration, selection (if/else operations) and logic might be used.
- specify the solution as an algorithm, an ordered sequence of steps.

The four cornerstones of computational thinking are decomposition, pattern recognition, abstraction, and algorithms. These techniques are not just used in computer science, they can be used to solve all sorts of other problems too!

Copyright (c) Axlesoft Ltd 2021