Computational thinking is a type of analytical thinking, or computing concept-driven approach to solving problems, modelling situations, or designing and implementing systems. Computational thinking works as a thought process by which problems are represented in such a way that their solutions may be evaluated using information processing techniques.
Computational thinking involves skills or techniques which often include decomposition of a task or problem, pattern recognition and abstraction, and formulating algorithms to solve this and similar problems or situations. Logical thinking is a cornerstone to this when it refers to a deduction or extrapolation of new information or data based on existing information.
Innovation is a key characteristic of computational thinking, and is best evidenced in the fact that computer science lies at the forefront of modern innovation. Innovative thinking trains the mind to question things which already exist, to challenge assumptions, and ultimately to think what would end up to be the next practise
However, computational thinking is a very broad term in its definition, with numerous and sometimes disagreeing definitions and descriptions of what the term entails. Even though computational thinking as a term is reasonably well known to many, a clear definition, what it entails, and areas in which it is applied are generally not so obviously clear.
To begin with, computational thinking is an intellectual competency like critical thinking, creativity and problem solving. It is a collection of multiple problemsolving skills based on fundamental principles of computer science. However, Computer science itself is a somewhat misunderstood term – most probably because of the word computer. Rather than being the study of computers, computer science can be briefly described as using computers and computational technology to solve problems; the main focus is in problem solving.
Computational thinking and problem solving strategy enables those who implement it to model problems and situations that may yield a computational solution. Instead of separating problems and their solutions, computational thinking promotes problem decomposition, and the use of logic, algorithms and often innovation to solve them. It is a combination of logical, arithmetic, efficiency, scientific and innovative thinking, together with qualities such as creativity and intuition.
Computational thinking is to computers as astronomy is to telescopes; it's about how we conceptualize information, and how we put those concepts into practice. Computer science shares many characteristics with mathematics, and therefore it is implied that it will also share problems and problem-solving techniques with other scientific domains. And when computer science often deals with creating tools to solve problems, rather than just using the tools, these techniques can be defined or abstracted in an algorithm, a step-by-step instruction set.
Computational terms may be more effectively understood if students are able to see them demonstrated in areas they are already familiar with. Educators need to be constantly evaluating areas in which they could demonstrate the use of computational terminology and analogy. Most students need to see computer science as more than just programming, but instead an immensely broad field and the initiation of a branch of thinking that may be used to solve many problems in numerous areas.
Nevertheless, solving a computational problem involves logical and algorithmic thinking approaches. The key skill is in logically breaking down a problem and systematically devising an algorithm suitable for solving it. In this instance, mathematics can be seen as a tool to be used in computational representation and problem solving.
The aspect of algorithm design is perhaps the most closely aligned to computer science itself. Algorithms play a major part, especially when it comes to problem solving and handling repetitive problems. In this case efficiency deals with the minimization of resources required by an algorithm to solve a problem - and in terms of design, efficiency has to do with the least number of steps to solve a problem.
Efficiency in general problem solving can be greatly improved by algorithmic thinking - and in this context algorithmic thinking can just as well be thought of as strategic thinking, or step-by-step processing.
Computational thinking has the potential to equip students to be more effective problem solvers for situations beyond the computer science realm, and encourages them to create tools to solve problems, rather than just use existing tools and giving working knowledge of how to use computers for everyday tasks.
It can be generically stated to the agreement of most that computer science together with computational thinking is bringing about a fundamental change in every field of science and it should follow naturally that other problems external to computer science as a discipline can be addressed using the same or similar techniques.
We are seeing a growing awareness in education of the need for the current curriculum to change to equip young people for the future. This has led to a new focus on what children are being taught and the approaches that should be taken when teaching them.
It is estimated that 65 percent of children entering primary school today will ultimately end up working in completely new job types that don’t currently exist. Unfortunately, in most parts of the world, the skills that are needed to survive this new working economy are not currently taught in schools, with subject-based knowledge still the priority.
The evidence to support this change is there - the “Future of Jobs” report by the World Economic Forum, published in 2018, states that the skills deemed important for school leavers entering the workforce are already changing considerably and 35% of skills valued in 2005 will have changed by 2020.
Making the change we need is mission critical and Computational Thinking might be the universal key. Computational Thinking should be added to every child's analytical ability, enabling them to formulate and solve problems, design systems, and understand human behaviour using concepts that are fundamental to computer science.
Research shows that computational thinking is a highly valuable skill that is becoming a topic of increasing interest among computational education researchers, as well as computer scientists. The reason for this is due to the significant benefits associated with it in terms of problem solving.
Creativity, critical thinking and complex problem solving are increasingly sought after, over and above traditional subject-based knowledge. This reflects a change in job type, already happening in the market and driven by the pace of development in intelligent buildings, smart cities and the Internet of Things which are creating new roles and jobs for current and future school leavers.
Computational Thinking might end up being the skill of the 21st Century, and a growing number of people in academia are beginning to realise the importance of bringing computational thinking to the core of many areas of study such as business and commerce, science, and biomedical engineering.
Computational thinking is an essential part of addressing this growing digital skills gap that exists across the globe and many economists, business leaders, politicians and other key figures have highlighted how organisations are already changing the way they identify talent and develop their workforce of the future.
The challenge for today’s educators is to help schoolchildren prepare for the new working economy, in turn, helping to prevent a major skills gap in the workforce of the future. Thus, children and young people have to be encouraged to work collaboratively, to identify a problem, to break it down into manageable parts and to generate workable and effective solutions that apply to real-world scenarios.
Of course, the skills gap issue should not only be seen solely in terms of the digital economy. While globally the digital skills gap has attracted headline figures, in recent years there has been an increased focus on the more general issue of developing problem solving and creativity skills across the entire workforce and not just those people who want to work in the technology sector.
Computational thinking helps to understand problems and sub-problems that are computable, helps to determine the correct tools and methods for solving certain problems, as well as helping the exploration of method limitations. It involves a number of core principles from computer science, such as abstraction and algorithm design, decomposition, pattern matching, generalization, and inference.
Computational thinking is a skill of significant benefit to multiple disciplines, and is not just limited to computer science and technological fields. The reason for this is that it helps students define whether an issue can be solved, or not and prompts them to research computational models for situations that are traditionally unrelated to computer science. Even if a student chooses a career other than computing, the skills learned and developed through computational thinking will benefit them in whatever field they eventuate.
The Computational Thinking Team