Current location - Education and Training Encyclopedia - University rankings - How should college students cultivate computational thinking?
How should college students cultivate computational thinking?
Computer thinking and programming

1, ubiquitous computing

Knowing the working principle and the history of computer development, it is not difficult to draw a conclusion that all the operations and processing of information by computers are inseparable: calculation!

Calculation problem, what is the calculation in the computer? Refers to the application of complex laws and logic to solve a difficult problem. Its process is very complicated and has nothing to do with numbers. As we know, there is only one adder in the calculator of the computer, and the "calculation" task that the computer can carry out includes not only numerical operation, but also high-order calculation realized on this adder. The human heart includes many complicated processes, such as laws and logic.

Why talk about calculation? Because we will talk about computability below, computability refers to whether a real problem can be solved by a computer. We can't expect computers to solve all the problems in the world, so it is very important to analyze the computability of a problem, so that we don't have to waste time on impossible problems, but concentrate our energy and time on solvable problems.

2, ComputationalThinking (computational thinking)

Edsger Dijkstra, a famous computer scientist and Turing Prize winner, once said in 1972 that "the tools we use affect our way of thinking and habits, which will also profoundly affect our thinking ability".

Computational thinking, as its name implies, refers to the way of thinking of experts and engineers in computer, software and related disciplines. In 2006, American computer science professor Zhou put forward the concept of "computational thinking", pointing out that computational thinking is a series of thinking activities covering the breadth of computer science by using the basic concepts of computer science, such as problem solving, system design and human behavior understanding. Computational thinking is the thinking ability that people must have in the new century, just like reading, writing and calculating in daily life. Computational thinking is based on the capabilities and limitations of the computing process and is executed by machines. Later researchers Selby and Woollard believed that computational thinking should include the following five core concepts: algorithmic thinking, evaluation, decomposition, abstraction and generalization.

The essence of computational thinking is abstraction and automation.

Abstraction: it completely transcends the physical concept of time and space and is completely represented by symbols, but mathematical abstraction is a special case.

Automation: automatic execution step by step mechanically, and its foundation and premise are abstraction.

Humans have been exploring the mystery of automatic computing, and computer science has profoundly changed the world in the past 70 years. Computer technology plays an increasingly important role in the development of modern society, and calculation has become the third scientific method after theory and experiment.

Computational thinking is a series of thinking activities covering computer science, and computer science is the knowledge of calculation (what is calculation and how to calculate it), so computational thinking has the following characteristics:

Computational thinking is conceptual rather than procedural.

Computational thinking is a basic skill, not a fixed skill.

Computational thinking is the way of thinking of people rather than computers.

Computational thinking is the complementarity and integration of mathematics and engineering.

Computational thinking is an idea, not an artifact.

Computational thinking applies to everyone.

Example: application of algorithm in real life

Search engines such as Bing and Google mainly use search algorithms (strategies) to help us search and classify the search content, and then present it to users, who generally choose the first few results to have a look.

How to learn the problem in the calculation process;

The computing course requires students to understand the concept of algorithms in the first stage and how algorithms can be used in programming or digital devices.

(1) As an initial stage, building block programming tools can be used to help understand the concepts of problem solving and guidance. The picture below is to write code and draw a square.

(2) After analyzing the problem, you can write pseudo code (similar to human language). The following are the questions and instructions raised by 10 in class.

(3) Draw the program flow chart and analyze the program execution flow.

Problem decomposition

How to apply problem decomposition in real life

Decomposition problem is to decompose the problem into several small parts, each of which is unique, non-repeatable and computable. Problem decomposition is widely used in engineering, design and project management.

Organize students to solve a large-scale programming project through decomposition, such as making a computer game. Even for a relatively simple game, the project usually breaks down as follows: plan,

Design, algorithm, coding, animation, graphics, sound, debugging and sharing. A project like this will contribute to a collaborative and team-based project.

Method, the development plan will last several weeks.

Taking a large programming project as an example, how to make a computer game, we will use problem decomposition. Even if it is a simple game project, the task will be broken down into the following links: planning, design, algorithm, coding, animation, graphic design, sound effect, debugging and enjoyment. Generally, cooperation and team assistance are needed in project operation, and the development process usually lasts for several weeks.

Abstract method

How to deal with complex problems

Jeanette Wing, an American computer scientist, believes that abstraction is the core of computational thinking.

Abstract process: Decide which details should be kept and which details should be omitted.