The first component of Computational Thinking is Decomposition. This stage involves breaking the problem down into smaller components so they can be tackled easier. The more you can break a problem down, the easier it is to solve. A good decomposition exercise is to decompose the components of a bike. You may initially break down a bike into its frame, wheels, handle bars and gears. However, you could then break each component down even further, for example a wheel can be broken down even further into the spokes, hub, rim, tyre and valve. This stage also allows you to develop a better understanding of the problem you face by identifying all the components in detail.
The second stage is Pattern Recognition whereby similarities and trends are identified within the problem. If some problems are similar in nature (both within the current problem being tackled or within past problems), there is a good chance that they can be solved using similar, or repeated techniques. This is a key component for making efficient solutions, and saving you time in the long run. Imagine you are preparing for a 10km run race. Last time you attempted the same race, you started off really quick and by the half way point you were so fatigued you had to pull out of the run. Your prior experience will tell you that this technique was not successful.
The penultimate stage is Abstraction which involves the identification of key components of the solution. Rather than looking at specific details, it requires the ability to filter out unnecessary elements of a problem so that you only focus on the important elements. Prior to creating a building, an architect may want to present their design as a scaled down model. This model will include all the key design elements that will be included within the final building. Any adjustments or additions can be discussed with clients at this stage before building work begins.
The final stage within the Computational Thinking process is Algorithm Design whereby a detailed step-by-step set of instructions are created which explain how to solve the problem. The measure of a good algorithm is one that can be passed to someone else to follow without the need for any extra explanation. The world is full of algorithms; following cooking recipes, building flat pack furniture, going to a fast food drive-through or paying for your shopping at a self-service counter.