Introductory Guide

The term "computational thinking" was first used by Seymour Papert in 1980. Computers can be used to help us solve problems. However, before we can solve a problem, we need to understand the problem itself and how to solve it. Computer language does not have a mind, and existing computers cannot think like a human brain; computer thinking means that people have to think like a computer to operate a computer. In my opinion, having a computer mind helps us to quickly recognise what the problem is and how to go about solving it.

The four processes of computational thinking

Decomposition

When we encounter a problem, we need to first break it down, breaking large problems into smaller ones, breaking complex problems into simple ones and breaking new problems into a number of old ones. The aim is to make the problem easier to deal with when we solve it. It's like when I want to make a cup of tea, I need to prepare water, tea leaves, sugar and milk. Then I need to use the kettle to boil the water, add some spices and finally stir. Breaking down a big problem into smaller ones and then solving them step by step is decomposition.

Pattern

Pattern recognition is about finding patterns and repeating them over and over again. By mastering pattern recognition we can easily master and apply it to solve problems. When I boil the water and pour it into the cup immediately after I add the tea leaves it always tastes the best, this is one of the techniques for making tea and I will continue to use this technique when making tea in the future once I have discovered this pattern.

Abstraction

Abstraction is about looking at the main, essential things and ignoring the rest, simplifying. When I describe to a friend the film I have just seen, Doctor Strange in the Multiverse of Madness, I describe in detail what the superheroes in the film do rather than what the supporting characters do.

Algorithms

Algorithms greatly determine the efficiency of problem solving. A computer program performs an algorithm to accomplish a specific task. Algorithms can be designed using flowcharts or pseudo-code.