What is Computational thinking (reprint)

This article is reproduced almost knew: https: //zhuanlan.zhihu.com/p/31799179
because the thought that it was particularly good, his collection, and also would like to share with everyone, while facilitating future study, to see if friends think also great, please open the link to the original author points a praise.

Computational thinking can easily be misunderstood

In 2006, Carnegie Mellon University Professor Zhou Yizhen for the first time systematically defined computational thinking. This year, she "of the ACM Communications" on a speech entitled "Computational Thinking" papers in the United States computer authoritative journal, which opened a new course of computational thinking popular.
Here Insert Picture Description

Prior to this, "computational thinking" non-computer applications in the field of scientific research and more concentrated in academic circles, such as computational chemistry, computational biology, computing science and other decisions. Like me, the general public really began to understand the value of "computational thinking" is after "Computational Thinking" published (10 years). Today, the computational thinking has become recognized worldwide as the universal way of thinking, and theoretical thinking, experimental thinking, like, anyone can use in resolving any problems.

Computational thinking are of great significance for everyone, but it is very easy to be misunderstood. Some people too literally, that computational thinking is learning about math; it was one-sided understanding, that learning programming to understand the computational thinking; it was insisted Pan Gaozhi, and even learn a Word, Exel, PPT must say trained computational thinking.

Computational thinking has been misrepresented as such, Xiao Bian determined to clear its name, take you to get to know the calculation under thinking.

What computational thinking is not what
what computational thinking is it?

In "Computational Thinking" this paper, Jeannette Wing professors in "hard sciences," the term used to describe the computational thinking: thinking is calculated using the basic concepts of computer science, were problem solving, system design, and understand human behavior . In other words, computational thinking is a problem-solving way of thinking , rather than specific subject knowledge, this way of thinking to make use of the basic concepts of computer science, and use very broad.
Here Insert Picture Description

Want faster and better understanding of computational thinking, take a look at Professor Zhou Yizhen several clear conclusions on the calculation of thinking.

1 Computer science is the study of computing.
2 is a conceptual, not programming.
3 is the basis of skills, not rote skills.
4 is a human way of thinking, not thinking of the computer.
5 is a mathematical thinking, and supplement with engineering thinking.
6 is an idea, not a man-made product.

6 understand the sentence above, you can reduce misunderstanding of computational thinking of a great extent.

The program as calculated thinking is a common misunderstanding of computational thinking of , even some people who study computer science background will have a similar point of view, it is not. Thinking computational thinking is a way of conceptualizing, and programming is a kind of behavior , although the programming process often used in computational thinking, but computational thinking is not programmed. The information literacy as one of computational thinking is a common misconception of computational thinking is , in fact, computational thinking and information literacy completely different. Information literacy focus is on the ways and means to train people to use the information effectively , with emphasis on the use of information and information tools, such as Excel, tape recorders, sensors, use of QQ, to find the information they want from the Internet. The computational thinking is the study of computing, a research problem which can be calculated, how the calculations.

Here Insert Picture Description
Computational thinking is not an isolated science, nor is it a subject of knowledge, which comes from computer science, and mathematics and thinking, there is a very close relationship engineering thinking . It and related mathematical thinking, because solving problems with computational thinking, the problem needs to be abstract mathematical problems can be calculated, for example, compare the rise and expansion of the Roman Empire of the Mongols, need to choose the appropriate mathematical model to quantify the strength calculation. In the use of computational thinking design of large complex systems, need to consider the efficiency, reliability, automation and other issues, these projects are very important things in mind.

Computational thinking is a way of thinking that everyone in daily life can be of use. Yes, everyone can use, and can be used almost anywhere. Travel route planning, financial investment options, scientific analysis, weather forecasting, no matter what you are trying to solve the problem, the use of computational thinking can help you simplify, skillfully deflected the question.

Understanding of computational thinking, we must first understand the calculation
understand the premise of computational thinking is calculated to understand because in essence computational thinking or research computing, research in solving problems in the process, which is calculable, and how to calculate.

Usually we understood that calculates an arithmetic operation, such as "1 + 1 = 2" operation ,, but in fact there are many types, such as set operations, logical operations, conditional operations and the like. Set operations such as "∁U (A∩B) = (∁UA) ∪ (∁UB)", there is no calculation of the specific value, but with a letter that represents a collection operation is performed; and logical operations such as "1∧ 0 = 0 ", the operation in the numerical value of" 0 "and 1, but the meaning is completely different, where" 1 "stands for" truth "- that is, the proposition is true," 0 "stands for" false "- the proposition false, by treatment with a digital "0" and "1" true or false proposition substitution, with "∧" and replacing the logic language "and" logic determination process is implemented by calculation.

Here Insert Picture Description

In the above three types of operations, "1 and 2", "A, B" "1 and 0" is to calculate the target is a specific symbol representing a certain meaning (the number may be, a collection of true and false propositions, etc.); "+", "∁U, ∩ , U" and "∧" is the operator, i.e. operation rules (addition, subtraction may be, may be required and / complement, may be determined and / or a complex proposition). If the calculation object is represented by a specific symbol string, calculated is the essence of the known specific symbol string according to predetermined rules, the symbol string changed step by step, through the limited steps, finally obtained a symbol string satisfies the predetermined condition process.
Here Insert Picture Description

When we jump out of the limitations of arithmetic operations, understand the nature of computing, ** will find that a lot of seemingly incalculable things can become computable, ** it is easy to understand the universality of the computational thinking. Because after a certain abstraction, our understanding of many problems can be described by a specific mathematical language, then, when we use specific mathematical language to describe the resolution process, is used in the calculation of the ways to solve the.

Computational thinking in human-computer division

When we solve operation becomes a problem of computable, we rely on manpower to carry out operations it? NO! The use of computational thinking is to bring people freed from a large number of machines in operation, let the computer do these things.

Here Insert Picture Description
In solving problems with computational thinking, ** who is responsible for the practical problems into computable problems and design algorithms allow the computer to execute the computer responsible for specific computing tasks, ** this is the computational thinking in human-computer division.

Human-computer division of labor can greatly improve the efficiency of processes and reduce the error rate, especially in the handling of complex, large amount of computation problems. For example, the travel route planning, in the absence of navigation software, we want to plan the shortest route from point A to point B, it may take a lot of effort, we are often judged based on experience, is not accurate, it is difficult enough the time and effort to find the optimal solution.

Here Insert Picture Description
When we use the geographical map to indicate the actual case, the coordinate points to represent the actual position of the shortest route problem is transformed into the problem of the length A to point B is a point on the map compare various combinations of line segments. Given navigation route from the starting point and destination entered into the navigation software is less than half a second time, the back-end server has been up to millions or even billions of times operations, this higher efficiency of human N orders of magnitude.

Computational thinking in the 2A

Abstraction (abstract) and Automation (automation) is characterized by two core computational thinking of.

Want to understand abstract thinking and automation of the importance of computing, we first look at the use of computational thinking were critical path problem solving:

<1> to practical problems abstract mathematical problem, and modeling
human understanding of the problem describe the mathematical language
<2> are mapped, the variables in the mathematical model used in place of the particular symbol
with the symbol correspondence Mathematical Model rules and variables
<3> problem by programming the logic analysis algorithm written in
the problem-solving ideas into computer instructions, the algorithm is
<4> execution of the algorithm, to solve
a computer according to an algorithm, step through a corresponding instruction, The results obtained

The process of establishing a mathematical model of the process is to understand the problem, and you should describe the understanding of the problem in mathematical language. This is critical, good or bad mathematical model means that your understanding of the issues deep enough , and the mathematical model also explains in this problem, and what can be calculated and how it is calculated, it can be said that in most computational thinking the core of things. This process requires a key core competency is the ability to abstract and certain mathematical foundation.
Here Insert Picture Description

Just calculate the mathematical modeling of the first step, in order for us to help solve the computer, we have a mathematical model requires virtual symbols instead of where each variable and rules of operation, this process is mapped it!

Mapping is complete, we will be able to problem-solving ideas (note that problem-solving ideas, not the mathematical model) with a complete programming language to tell the computer you, this process is the process of writing specific programming algorithms it! This step requires a strong programming skills, but also one of the core programming capability of abstract thinking ability. For programming ability is not strong enough for people, as well as the programming process mapping can be programmed to do good to people.

Here Insert Picture Description
The first three steps are the people of the critical path to complete, the final step in the implementation of the algorithm calculates the machine is done automatically, reflecting the automated computational thinking features.

Throughout the process, the method is an abstract, is the means through each part of the whole process. Automation is the ultimate goal, let the machine do the computing work to liberate the human brain, the middle goal is to achieve problem of computable, is reflected in the results of a mathematical model, mapping, as well as algorithms.

** This article is reproduced almost knew: https: //zhuanlan.zhihu.com/p/31799179

Published 24 original articles · won praise 25 · views 4098

Guess you like

Origin blog.csdn.net/qq_44972915/article/details/104606485