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
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!