This module taught me about computer thinking and how to create web pages using HTML and CSS. Before this, I knew nothing about computers and it was all a new experience for me.The four main parts of computer thinking that we are learning about are: decomposing problems, abstraction, pattern recognition, and algorithms.

At first I didn't know what these four parts meant, but slowly I learnt that algorithms are the basic logic of computer processing, and the other three parts serve the purpose of algorithms.I will then give a few examples to illustrate the meaning of these parts. As you know, when you use tiktok you are pushed various videos, how is this personalised recommendation algorithm designed? First, the computer has to break down the problem and split this big problem into smaller ones.

In the first step, all videos are sorted by content and category, in the second step, the content of interest is inferred based on your viewing habits, and in the third step,the video content is matched to your preferences.

In fact it can be further divided, for example the first step can be divided into title, synopsis and cover, until it is broken down into simple steps that the algorithm can handle. This is also practical in the real world, where many of the problems we think are unsolvable are actually problems we don't know what they are. Abstraction, on the other hand,is the distillation of life's problems into elements that an algorithm can deal with. A computer does not know what the content of a video uploaded by a user is, but it can abstract it into different types by retrieving keywords from the content. In doing so, it is important to ignore the details and focus only on the key elements that can break down the problem. Many of the troublesome problems we find in our daily lives are due to us focusing too much on the problem and ignoring the elements. For example, when courting the opposite sex, the key element is actually one's attractiveness, and many people tend to focus too much on the other person's changing moods, leading to failure. If you can capture the core elements, you will be able to solve the problem effectively. Pattern recognition is the process of identifying which problems have commonalities and then handing over solutions to those commonalities to an algorithm. For example, roads and signage are very similar around the world.

An algorithm is a series of computer instructions, and a large number of different algorithms are the basis for building various complex functions. To me, life is an algorithm. Every day when the alarm goes off, are you going to go back to sleep or get up for breakfast, are you going to study or play a game, we make choices about these options every day as we try to find a better way to help us reach the best solution. It is worth reflecting that today, with the extreme abundance of choices, we need to optimise our algorithms more than ever. Whether it's life, play, study or work, finding the optimal solution is impossible, only a constant search for balance. Some people are very disciplined and organised, and always seem to make good judgements when faced with choices, because they have good algorithms. Computational thinking tries to help us improve these skills, so that you can put aside your subjective judgments and actually solve problems. But we hardly ever look at ourselves. We often clean our rooms and clear our desks because they are too messy, and our desks are so cluttered that we can't find our papers, but we don't organise our minds and let all sorts of vague, confusing sensory algorithms make decisions for us every day; we don't want to take the initiative to analyse and solve problems, we habitually refer to textbooks for answers or carefully give ourselves We are willing to spend money on the latest mobile phone and a higher configuration computer, but our brains, which we use to deal with everything, rarely clear their cache, update their systems or upgrade their configuration. Computers have a very simple way of thinking about the world, yet they can solve almost any problem, whereas humans often think in very complex ways, so using computational thinking will help us to deal with problems more efficiently, to absorb knowledge and improve our academic performance, and even to understand more deeply how modern society works.
computer thinking
Brendan Eich