Computational thinking is widely considered to have been derived in 2006 by J. M. Wing, who used the term in a 2006 essay in the publication Communications of the ACM. A similar phrase, “procedural thinking,” was used 10 years earlier by S. Papert, who was part of MIT’s department of mathematics and who helped develop the LOGO programming language in the 1960s.
While its modern definitions pertain to computer science, computational thinking has long been an inherent system of problem-solving used in our everyday lives in industries from science to art. However, it isn’t until more recently that this process has been defined and named.
With computational thinking being better defined and understood, teachers and other instructors can better enable students with tools and processes to solve complex problems in a more strategic, repeatable way.
Computational Thinking Definition
Computational thinking is defined as the process of identifying a clear, defined, step-by-step solution to a complex problem. Its definition includes breaking down a problem into smaller pieces, recognizing patterns and eliminating extraneous details so that the step-by-step solution can be replicated by humans or computers.
This pattern of problem-solving is used in our daily lives not only in computer science, but also in language, history, science, math and art. While there is such a thing as “unplugged” computational thinking, modern computational thinking often includes a solution involving technology, such as a computer, to execute the algorithm.
4 Parts of Computational Thinking
Regardless of whether computational thinking is being used in computer science or another subject area, the process of computational thinking can be broken down into four parts or steps.
The first step in computational thinking is decomposition. While this may be called different names based on the school of thought, the basic process is the same: to solve a complex problem, you must first break it down into smaller, more manageable parts.
Decomposition is an important part of computational thinking because it helps make a problem more manageable (you’ve probably heard the expression that the “best way to eat an elephant is one bite at a time”). It also helps problem solvers to better define and understand the problem being solved while enabling them to simplify the problem through pattern recognition and abstraction.
2. Pattern Recognition
Part of computational thinking is also pattern recognition. This is the process of identifying patterns or connections between different parts of the bigger problem. The purpose of pattern recognition is to further simplify the problem by finding where details may be similar–or different–as well as building a continued understanding of the more complex problem.
Abstraction is the process of extracting the most relevant information from each decomposed problem. This helps to define, or generalize what, exactly needs to be done to solve the problem as a whole. This step of the computational thinking process helps students identify how these important details may be used to solve other areas of the same problem.
4. Algorithmic Thinking
The final component of computational thinking is algorithmic thinking. This is the process of defining a step-by-step solution to the problem that can be replicated for a predictable and reliable outcome. For the modern definition of computational thinking pertaining to computer science, this solution will be a step-by-step process that will be completed by a computer. However, this process can also be completed in part or in whole by humans.
Whether in the computer science industry or in everyday life, computational thinking can be an extremely helpful tool in defining and solving complex problems. Teaching and reinforcing computational skills in children’s education can help not only to promote career-ready skills such as computer coding, but also to better manage the challenges students will face in the future.
Learn more about computational thinking in our free eBook, “The Ultimate Guide to Computational Thinking for Educators.” Download the book now by clicking the button below.