Introductory guide to Computational Thinking

What is Computational Thinking?

Computational thinking is a method of solving problems or designing systems through the principles of computer science. It encourages people to think about problems in a structured and logical way. Although it draws on the basic principles of computer science, it is not only applicable to the field of computer science, it can also be applied to our learning and daily life.

Historically, CT was considered algorithmic thinking in the 1950s. The origins of CT in education are often traced to Seymour Papert's 1980 student-centered work based on a presentist approach. Jeannette Wing's famous 2006 paper proposed a new perspective, introducing CT as a universal skill and a new reader-writer capability suitable for everyone (Hamidi et al.,2023)

References

Hamidi, A., Mirijamdotter, A., & Milrad, M. (2023). A Complementary View to Computational Thinking and Its Interplay with Systems Thinking. Education Sciences, 13(2), 201. https://doi.org/10.3390/educsci13020201

Claude Shannon

1.Decomposition

It refers to breaking down a complex problem into many smaller, simpler components so that it is easier to solve. This method is a very efficient way to solve some complex and difficult tasks or problems.

People are often at a loss for a seemingly complex task because complex problems are often difficult to understand and solve at once. By decomposing, we can break it down into several simpler and more intuitive parts, and solving these parts individually is often easier than solving one big problem directly.

2.Pattern Recognition

Pattern recognition is to find patterns or similar points in a bunch of information. It involves looking for patterns or recurring features in data. In data analysis, pattern recognition is used to extract useful information and identify trends from large amounts of data. By identifying patterns in problems, we can find solutions to problems faster, which can improve efficiency.

Moreover, by classifying problems into known patterns, we can find previously existing solutions, which can greatly simplify the problem. For example, if you are cooking, you will find that certain combinations of ingredients work better Dishes made together are more delicious. This "yummy" combination is a pattern. Once you master this pattern, you'll be able to make quicker decisions about which ingredients go together the next time you cook.

3. Abstraction

Abstraction is a key concept, which refers to extracting the most important information from complex phenomena or problems while ignoring unimportant or irrelevant details. Its purpose is to simplify the problem and ignore irrelevant information. We can simplify the complex problem and focus more closely on the core part of the problem. For example, when using a map, we can find that not all roads and buildings are drawn on the map, but the most critical roads are selected to be displayed. This is a kind of abstraction.

4. Algorithm design

In programming, people often use algorithm design. An algorithm is a series of steps used to complete a specific task or solve a certain problem. Algorithm design is the process of creating such steps. Algorithms can solve problems more systematically. By properly designing algorithms, we can improve the efficiency of solving problems. At the same time, we can also more easily verify the correctness of the solution.

What I've Learned

Computational thinking is a powerful method for solving problems and designing systems. It emphasizes structured and logical thinking processes, which is extremely important for my study plan and future career.

First of all, for learning, using computational thinking can help me improve learning efficiency. By decomposing, I can split complex learning tasks into smaller and more manageable parts. For example, when making this web page, I divided the website into several different small steps. First, I roughly planned the layout of the page, then determined what fonts and colors to use for each part, and finally wrote the manuscript, so that my web page would be The design is complete.

Secondly, computational thinking can cultivate my problem-solving ability. It allows me to use pattern recognition to quickly find solutions when I encounter problems. Through abstraction and algorithm design, I learn to look at problems from different angles and discover new solutions. methods to cultivate innovative thinking. When writing a paper, I need to extract key information from a large amount of data and form my own opinions. This requires me to abstractly identify which information is critical and which is secondary.