JavaRush /Java Blog /Random EN /What is computational thinking? “The key to success” and ...

What is computational thinking? “The key to success” and “a vital skill for the 21st century.”

Published in the Random EN group
In articles on JavaRush, we not only talk about Java, its study, features and subsequent employment in the field of computer development, but also “invest” in the comprehensive development of our readers. To do this, we pay attention to basic concepts, the understanding of which will not only allow you to become a professional programmer, but will also help you improve in the future, regardless of the chosen direction. And today we have just such a topic. Fundamental, like the pyramid of Cheops. Namely: Computational thinking. “The key to success” and “a vital skill for the 21st century.”  What is computational thinking?  - 1

What is Computational Thinking?

Computational thinking (“computational thinking” seems to be a more appropriate term in Russian, but in RuNet it is the first option that is more common) is the concept of systematically approaching a problem in order to then create a solution that a computer can implement. Simply put, before teaching a computer how to solve a particular problem, a person must understand the problem itself and how to solve it, and computer thinking is a technique for precisely this. This concept was proposed by mathematician and computer scientist Seymour Papert in 1980 as a theoretical basis for more effective problem solving. In education, computational thinking as a concept began to gain popularity following a note by computer science professor Jeannette Wing in 2006, who proposed introducing computational thinking into children's education as a fundamental skill that all people should have. “The key to success” and “a vital skill for the 21st century.”  What is computational thinking?  - 2

Four Pillars of Computational Thinking

Computational thinking as a technique is based on four key methods.
  • Decomposition.

    Dividing a complex problem into a number of smaller and solvable problems.

  • Abstraction.

    Focusing exclusively on information important to the decision and ignoring unnecessary details.

  • Pattern recognition.

    Search for similarities between the problem under consideration and others that have already been solved in order to transfer already proven approaches to it.

  • Algorithms.

    Developing a step-by-step solution to a problem or rules for solving it.

All these components are equally important components of computer thinking. This means that without the correct application of each of them, it will not be possible to use this technique effectively. And the correct application of computer thinking is the basis of the fundamentals of programming. “The key to success” and “a vital skill for the 21st century.”  What is computational thinking?  - 3

Application of Computer Thinking in Life

By and large, computer thinking as a method goes far beyond programming, and its components are constantly used by most people when solving problems of varying levels of complexity. A classic basic example: you need to get from point A to point B in an unfamiliar city. To decide which path to take, you:
  • You divide this task into a number of smaller ones (decomposition): study the map and possible route options, choose a method of travel to point B, etc.
  • You then rate the attractiveness of different routes based on their length, the presence of points of interest along the way, or ease of travel (an abstraction).
  • Then you think about your options based on past travel experiences in other cities that are most similar in size and urban landscape (pattern recognition).
  • Based on all this, you choose the most suitable route and method of transportation (algorithms).
This is a basic example, but a deeper understanding of computational thinking will be useful in many fields, not just technical ones. Many complex problems with an abundance of factors and various types of data in everyday life can be solved using computational thinking. Nowadays, computational thinking as a concept is gaining popularity as a core educational subject and is generally becoming an important technique that can be integrated into many work processes to improve results. “In an effort to find the most effective solution to a problem, we constantly evaluate the most obvious solution options, finding their advantages and disadvantages. Computational thinking allows us to format a seemingly complex problem into one we can solve. The essence of computer thinking also lies in recursive thinking and parallel information processing. In programming, this means that we interpret code as data and data as code. This includes type checking as a generalization of dimensional analysis, and recognition of both the advantages and disadvantages of aliasing or giving someone or something more than one name. It is also an assessment of the quality of the written program, not only in terms of the correctness of its operation and efficiency, but also in terms of the aesthetics and design of the system, taking into account its simplicity and elegance,” explains Jeannette Wing in her note on the importance of learning computational thinking, published in 2006 year. “The key to success” and “a vital skill for the 21st century.”  What is computational thinking?  - 4

Learning and developing Computational Thinking skills

As for the study of computer thinking as a technique and discipline, today there are quite a lot of materials available on this topic for those interested. Thus, the International Society for Technology in Education (ISTE) offers everyone a free course, Computational thinking , developed with the support of Google , intended also for technical specialists. You can also find a free course on computer thinking on the Coursera resource, for example. Programs in computational thinking, both for students of different levels and for teachers, are also offered by the Academy of Robotics at Carnegie Mellon University . And finally, in computer thinking one of the dominant roles is played by logic. To train it, it will be useful to regularly solve problems and puzzles , for example. Below is a simple, basic approach to learning, developing, and consistently using the four basic computational thinking techniques.
  • Decomposition practice.

    Just try to apply this principle (if, of course, you are not already doing this) to various kinds of tasks and problems that need solving. The trick here is to train your mind to use this approach on an ongoing basis without conscious concentration. Despite the fact that dividing one problem/task into a number of smaller ones is a rather banal solution for many (especially in programming), not everyone knows how to apply it and does it regularly.

  • The practice of abstraction.

    Abstraction is simply focusing on the information that is most relevant and important to solving a specific problem. It works in conjunction with decomposition, where you break a problem down into a number of subtasks and focus on them one at a time, looking for only the information you need to solve the problem at hand.

  • Practice pattern recognition skills.

    As you practice computational thinking, which begins with decomposition, your pattern recognition skills will also develop. The approach here is the same as for decomposition - just practice looking for similarities with other, already solved problems. Pattern recognition allows you to solve problems faster by using thought patterns that are already practiced and familiar to your brain.

  • Practice the skill of forming algorithms

    Here, again, the key is adapting the brain to use this system. Our lives are filled by default with algorithms that we call habits. You just need to pay conscious attention to the formation of algorithms. Moreover, this applies not only to work or training, but also to many other everyday things. For example, the basis of the fight against procrastination , which we talked about recently, also, by and large, lies in the conscious formation of algorithms (along with pattern recognition).

“The key to success” and “a vital skill for the 21st century.”  What is computational thinking?  - 5


Well, let’s conclude this material with a few quotes from experts who seemed to us the most interesting and concise. “Computational thinking is a vital skill for 21st century workers. Despite the fact that computer science and computational thinking are now becoming more commonplace, they are still not given enough attention as core disciplines that can benefit students in particular by helping them adapt and become accustomed to “traditional programming,” - note James Lockwood and Aidan Mooney, professors at Maynooth University in Ireland and authors of the report Computational Thinking in Education: Where does it fit? “Computer thinking is, to a large extent, the key to your success, no matter what field we are talking about. This technique is so powerful in solving real, not just computer, problems that it should be made one of the main educational subjects. At least if you agree, as I do, that the fundamental purpose of education should be to enrich our lives by finding the most effective solutions to problems of all kinds,” says Conrad Wolfram, a renowned British tech expert and entrepreneur. Well, let’s conclude with a quote from Jeannette Wing, already mentioned above, who can be considered one of the main modern popularizers of computational thinking as a concept: “The educational benefits of computational thinking - starting with the use of abstractions - increase and strengthen intellectual skills and, therefore, can be transferred to any area. Computer scientists are well aware of the value of abstractions, thinking at different levels of abstraction, abstracting to manage complexity and scale, etc. For now, our job is to explain to non-computer scientists and others what we mean under computational thinking, and what are its advantages!”