Just like humans, cats, birds, or dogs have a thought process, does a computer also have its own way of ‘thinking’? Yes, there is a logical thought process behind the way a computer processes any activity, and this is called ‘computational thinking’. It’s made up of 4 major steps described below.
The first step: Decomposition
Decomposition is the way a computer approaches a command. It breaks down complex problems into smaller bits, and any command into manageable chunks of action. A print command, for example, will be broken down into selecting the page to be printed, capturing an image of it, converting it into the correct file type, transferring the image to the printing app or physical printer, establishing connection, managing the app or hardware in the process of printing a hard copy or PDF, and sending a message to the user that the job is done.
Recognising repeats: Pattern Recognition
If you know how to draw a circle, you know that repeating it would give you the figure 8 or the infinity sign. Looking at printed textile will show that patterns are formed by repeating certain motifs. A computer’s mind also looks for patterns in puzzles to determine whether any problems or solutions encountered in the past could be applied there. If the computer has been taught how to ‘Save’ a file, when it is asked to ‘Save As’, it recognises a patterns and accomplishes the task up to a level before doing the new steps.
Step 3: Pattern generalization and abstraction
Abstraction is a technique where some parts of a program is clubbed into abstract ‘boxes’ to hide them from the user who need not know the complexity of the whole process. For example, when you press the power button on your computer, you need not know the entire process of powering up your computer and loading the Operating System into RAM memory from the Boot Sector. You just need to know the machine turns on. In generalisation, some processes are represented in general terms such as input-output, variables, constants, repeats etc.
The final step: algorithm design
Algorithm design is setting out the steps and rules needed to be followed to get the desired results unfailingly. The algorithm achieves the result by following step by step logical problem solving using the 3 methods described above. This takes us to creating machine languages, or coding, as we popularly say now.