Computational thinking is the foundation of all programming. What I comprehend is that computational thinking could be divided into four parts. The first one is decomposition. We could decompose problems when we couldn’t solve it, break down big problems to small problems, complex ones to simple ones and new ones to old ones. The second one is pattern recognition. Through pattern recognition, we can draw on past experiences to help us accomplish current tasks or goals. We encountered a similar logic when we were programming, and this time it was made easier by recalling our previous programming experience. The third is abstraction. It is the process of extracting important information about an object and discarding unimportant or irrelevant information. What we're going to do in this process is focus on the main, essential things, ignore the rest. How to abstract, what information to ignore, and what information to keep is determined by the specific problem. For instance, When we learn a new programming language, we discard the syntax of the language we know, but retain its logic. The last one is Algorithms, it is a tool to solve problems. Any step or plan to solve a problem can be called an algorithm.
Learning computational thinking can lay a good foundation for subsequent learning, in the field of the computer, a lot of knowledge need to learn. However, if I study computational thinking, I have the ability to understand, associate. Then look at computer knowledge and they seem to have the same truth or principle, just different from the term, This will speed up my learning efficiency in computer knowledge. In the future courses, I can follow the above four steps of computational thinking to complete the analysis, understanding, design and implementation of the program.