Computational Thinking Guide

In the first class of this course in Computational Thinking, the tutor used realistic objects as examples to give me initial insight into using computational thinking to solve problems.

I feel that I have benefited from both the thinking and the technical aspects of the methodology of using computational thinking to solve problems, which has given me a deep appreciation of the idea that "everything is an object", That is, through computational thinking it is possible to take a real object and fully understand it by means of decomposing->abstraction-> pattern recognition->Algorithms, and the latter is I am very satisfied in terms of gaining skills that I will use in my future career.

Before learning computational thinking I had never had the experience of applying computational thinking to a real problem to get a solution. Before learning the subject of computational thinking I had always thought that programs were built by stacking code like a pyramid, but now I find that building a program code using computational thinking is more like building a modern building, first designing, then building the framework, then adding the bricks. The next step is to add the bricks and pieces to get a complete building. Similarly, for any problem, whether it is computer-related or not, it is important to put together a basic framework and then analyse the object step by step to solve it step by step.

In the process of writing code, I often make the mistake of writing wherever I can think of, so writing code without structure and logic often leads to a lot of redundancy, and it is easy to become confused in the process of writing due to a lot of loops and recursions, as mentioned above, writing code is like building a building, you have to design the framework before you can add bricks. I believe that in the future I will keep this habit and study and research more efficiently.

In future learning, as with the most obvious features of computational thinking - structure and flow - it is important to carefully analyse the object of any problem, assess its difficulty, i.e. feasibility, design a solution to the problem, then run a test of the designed solution, give feedback on the next step if errors are found, and repeat the process. I believe that by learning about computational thinking, I will be able to solve most of the problems in my future studies.