100 Programs Everyone often hears that "learning programming can cultivate programming thinking", but what is programming thinking?Did you know what is the connection between learning to code and developing a programming mind?
Before we get to know programming thinking, let's first talk about what programming is.
Programming is talking to a computer, telling it what we want it to do in a language it understands.
Take a chestnut:
If we want to rest, we move a stool, put it down, and sit down to rest.
If we want the computer to understand this sentence, we need to express it with the computer like this:
Steps: 1. Define the object: what is a "stool";
2. Move the stool up by 20 cm
3. Move two meters forward;
4. Move the stool down 20 cm.
In this way, the computer does what we want it to do.
Therefore, compared with the casualness and sensibility of communication between humans, when talking to the computer, it is necessary to have rigorous and rational thinking, and give accurate instructions at every step, so that the computer can act according to its own ideas and will not let the results deviate.
In order for the computer to understand what we are saying, we need to be rational, rigorous, and organized. When we try to think about problems from the perspective of a computer, we also learn and practice what we often say"Programming Thinking".
Many people have heard of programming thinking, but they don't know much about it, and even have this misconception that programming thinking is programming algorithms.
Actually, programming thinking is not a skill for writing programs, but a way of thinking for efficient problem solving"Understanding the Problem – Figuring the Path".The efficient thought process consists ofDecomposition, pattern recognition, abstraction, algorithmsConsists of four steps.
Decomposition
Develop the ability to disassemble complex problems.
Decomposition is the dismantling of a large complex problem into smaller steps that are more executable and better understood. If you want to make a trip plan for your whole family, "family travel planning" sounds very large and cumbersome, and if you know how to "break it down", you can break down this big problem into several small steps that are easy to solve: establish a destination, arrange a trip, book flights and hotels, and prepare a luggage list.
Therefore, in the process of learning programming, it is a process of constantly training them to disassemble and straighten out complex problems. This process is the basis for solving the problem, and only by dismantling the problem clearly can it be realized.
Pattern recognition
The ability to discover and integrate "patterns of repetition".
Pattern recognition is the process of identifying patterns and trends (commonalities) of different problems, finding solutions to similar problems in our experience base, and applying them to solve them. The more patterns you recognize, the faster you can resolve issues.
For example, what would you do if you needed to draw 100 cats?Do you want to find 100 cats or find out the cat's "pattern"?
Pattern recognition for cats, we will find that cats have these things in common: they have eyes, ears, tail, four legs, ......
Based on these characteristics, we have established a cat "model", and according to this model, we can draw cats in batches. You don't need to draw a new animal each time, you just need to change local features (e.g. hair color, tail length).