Fortune Telling Collection - Free divination - What is computational thinking like?

What is computational thinking like?

Operating mode computing thinking is based on the ability and limitation of computing process, which is executed by people and machines. Calculation methods and models make us dare to deal with problem solving and system design that no individual can complete. Computational thinking faces the mystery of machine intelligence: what does human beings do better than computers? What computer can do better than humans? The basic question is: What is computable? So far, we still have a little understanding of these problems.

The application of computational thinking Computational thinking is everyone's basic skill, not only belonging to computer scientists. We should let every child master not only reading, writing and arithmetic (3R) but also computational thinking while cultivating analytical ability. Just as printing and publishing promoted the popularization of 3R, computing and computers also promoted the spread of computational thinking with similar positive feedback.

Computational thinking is to use the basic concepts of computer science to solve problems, design systems and understand human behavior. It includes a series of thinking activities covering the breadth of computer science. When we have to solve a specific problem, we will first ask: How difficult is it to solve this problem? What is the best solution? Computer science accurately answers these questions according to a solid theoretical foundation. The difficulty of expressing the problem is the basic ability of the tool, and the factors that must be considered include the instruction system, resource constraints and running environment of the machine.

In order to solve a problem effectively, we may further ask whether an approximate solution is enough, whether randomization can be used, and whether false positives and false negatives are allowed. Computational thinking reinterprets a seemingly difficult problem into a problem that we know how to solve by means of reduction, embedding, transformation and simulation.

Computational thinking is a recursive thinking and parallel processing. It translates code into data, and data into code. This is a type check through generalized dimensional analysis. It knows both the advantages of aliases and the disadvantages of giving people and things multiple names. For indirect addressing and program calling methods, it knows its capabilities and costs. When evaluating a program, we should consider not only its accuracy and efficiency, but also its beauty, and its simplicity and elegance in system design.

Abstraction and decomposition to meet complex tasks or design large and complex systems. It is the separation of concerns (SOC method). It is to choose an appropriate way to state a problem, or to choose an appropriate way to model the related aspects of a problem to make it easy to deal with. It uses invariants to describe the behavior of the system concisely and expressively. It enables us to safely use, adjust and influence the information of a large and complex system without knowing every detail. It prefetches and caches expected future applications. Computational thinking is a kind of thinking based on preventing, protecting and recovering from the worst case through redundancy, fault tolerance and error correction. It calls blocking "deadlock" and contract "interface". Computational thinking is to learn how to avoid "competitive conditions" (also known as "competitive conditions") when meeting synchronously.

Computational thinking uses heuristic reasoning to seek solutions, that is, planning, learning and scheduling under uncertain conditions. Search, search and search again, and the result is a series of web pages, a strategy to win the game, or a counterexample. Computational thinking uses massive data to speed up computation, and makes a trade-off between time and space, processing power and storage capacity.

Consider the following examples in daily life: your daughter goes to school in the morning and puts what she needs that day in her backpack, which is preset and cached; When your son lost his gloves, you advised him to look along the road he walked, which was a kind of push back; When should I stop renting skis and buy one for myself? This is an online algorithm; Which line should I stand on when I pay the bill in the supermarket? This is the performance model of multi-server system; Why is your mobile phone still working when the battery is dead? This is the irrelevance of failure and the redundancy of design; How does the fully automatic popular Turing test distinguish between computers and humans, that is, how does the program identify humans? This is to make full use of the difficulty of solving artificial intelligence problems to defeat computing agents.

Computational thinking will permeate everyone's life. By then, words such as algorithms and preconditions will become part of everyone's daily language. The understanding of the words "uncertainty" and "garbage collection" will be close to the meaning in computer science, and trees are often drawn down.

We have witnessed the influence of computational thinking on other disciplines. For example, machine learning has changed statistics. From the scale and dimension of mathematics, the scale of statistical learning used in various problems was unimaginable only a few years ago. The statistical departments of various organizations have hired computer scientists. Computer College (Department) is merging with the existing or newly established Statistics Department.

Computer scientists are becoming more and more interested in biological science because they firmly believe that biologists can benefit from computational thinking. The contribution of computer science to biology is not limited to the ability to search for patterns in massive sequence data. The ultimate hope is that data structures and algorithms (our own computational abstractions and methods) can represent the structure of protein in a way that reflects its own functions. Computational biology is changing the way biologists think. Similarly, computational game theory is changing the way of thinking of economists, nano-computing is changing the way of thinking of chemists, and quantum computing is changing the way of thinking of physicists.

This kind of thinking will become part of everyone's skill set, not just scientists. Pervasive computing is to today what computational thinking is to tomorrow. Pervasive computing is yesterday's dream turned into today's reality, and computing thinking is tomorrow's reality.