Computational thinking, as coined by Jeannette Wing, is a fundamental skill for all to be able to live in today's world, a mode of thought that goes well beyond computing and provides a framework for reasoning about problems and methods of their solution. It has a long tradition as algorithmic thinking which within computer science is a competence to formulate a solution of a problem in the form of an algorithm and then to implement the algorithm as a computer program. Computational thinking is not an adequate characterization of computer science as claimed by Peter Denning and he is right -- it is a collection of key mental tools and practices originated in computing but addressed to all areas far beyond computer science. As an extension of algorithmic thinking, it includes thinking with many levels of abstraction as a problem solving approach inherently connected to computer science and addressed to all students to use computers and computing skills in solving problems in various school subjects coming from various scientific and applied areas. Computational thinking involves concepts, skills and competences that lie at the heart of computing, such as abstraction, decomposition, generalization, approximation, heuristics, algorithm design, efficiency and complexity issues and therefore it is clear that basic computer science knowledge helps to systematically, correctly, and efficiently process information, perform tasks, and solve problems. Although coming from computer science, computational thinking is not only the study of computer science, though computers play an essential role in the design of problems' solutions. It is a very important and useful mode of thinking in almost all disciplines and school subjects as an insight into what can and cannot be computed.
Max StephensDjordje M. Kadijevich
Max StephensDjordje M. Kadijevich