Computational thinking
Computational thinking is a problem-solving approach that applies techniques similar to those used in computer science to analyze and resolve issues. This method breaks down complex problems into manageable steps, enabling individuals to develop solutions that can be programmed into computers. Originating in the 1940s with the advent of early computers, computational thinking has evolved and significantly influenced education, now being integrated into curricula for students of all ages. It consists of four key steps: decomposition, pattern recognition, abstraction, and algorithm development. Decomposition involves breaking a problem into smaller tasks, while pattern recognition identifies similarities in these tasks. Abstraction focuses on the essential aspects of the problem, filtering out irrelevant details, and algorithm development synthesizes this information into a clear sequence of instructions. By fostering computational thinking, educators aim to prepare students for a technology-driven future and enhance their overall problem-solving skills applicable in various fields beyond computer science.
On this Page
Subject Terms
Computational thinking
Computational thinking is a way of approaching problem-solving that utilizes thinking skills and behaviors like those that would allow a computer to be used in resolving the problem. The process breaks the problem down into specific steps and types of tasks that can then be programmed into a computer to achieve the desired results. Although computational thinking has its origin in computer science and is used in designing computer programs to perform specific tasks, the skill is also being taught to school children of all ages. This is because the technique provides a solid framework for thinking through tasks and problems and can help students better understand the function of the many computerized devices used in everyday life.
Background
The term computational thinking had its origins in the 1940s as efforts were under way to develop the first computers with widespread practical uses. Scientists began experimenting with the many ways computer technology could be applied to real-world situations, and the field of computer science grew. By the 1980s, scientists such as American theoretical physicist Kenneth Wilson were using computers to create models to predict how various forces of nature, such as magnets, and manufactured items, such as airplanes, would function in different scenarios. This modeling process, which was developed in the scientific fields and not by computer scientists, came to be known as computational thinking. The term was also applied to the concept of teaching children to use computers as part of the educational process during the 1980s.
In the 1990s, Internet and related technology stocks soared as investors sought to cash in on computer technology and online businesses. This created an artificially inflated market (a bubble), which fell drastically in 2000 in what was known as the dotcom bubble crash. As a result, interest in computer science programs in colleges and universities dried up amid fears that there would be no need for these jobs in the future.
In March 2006, computer sciences professor and researcher Jeannette M. Wing published an article entitled "Computational Thinking" for the journal Communications of the ACM, a monthly periodical of the Association for Computing Machinery. The article shared Wing's viewpoint that contrary to the popular perspective that computers and related technology were fading, there would actually be increased interest in them in the near future. Wing's article promoted the benefits of computational thinking, which she said was a fundamental skill that had applications not only for computer and software design but also for understanding other fields. Wing defined computational thinking in a wider manner than it had been used previously. She emphasized that knowing the steps it took to get a computer or computerized device to complete a task helped people understand how to solve other problems as well, especially those that are abstract in nature.
Overview
Computational thinking involves four specific steps. Each is equally important in the process; leaving any one of them out could affect the success of the problem-solving effort. The four steps are decomposition, pattern recognition, abstraction, and algorithms.
In decomposition, the problem, system, or task is broken down into smaller steps. This is much the same as when someone is writing out instructions for cooking something. If someone wants to bake a cake, for instance, the steps might include gathering the necessary ingredients and supplies, mixing the ingredients in the proper order, putting the pan in the oven and turning it on, baking for the appropriate amount of time, and removing the finished product from the oven. Similar steps are followed even when the process is going to be computerized. For instance, if someone wanted to create a computerized appliance that could bake a cake, it would first be necessary to know what has to happen for the cake to be baked.
The next step is to recognize any patterns in the process. The person or persons involved in the computational thinking process would look for things that are similar that need to be done to complete the task. For instance, it is necessary to determine if there are multiple steps in which things need to be timed, or temperature needs to be measured.
In the abstraction step, the problem-solvers will focus on the most important things related to the task. For example, if someone is making a computerized device to bake a cake, knowing factors such as what size pan will be used, the oven temperature needed, and how long it needs to bake are important. Knowing what flavor the cake will be is not important. Abstraction focuses only on the key steps and aspects of the process.
Finally, the problem-solver will develop an algorithm or formula. This is the list of steps and instructions that need to be followed to complete the desired process. Algorithms are often thought of in terms of mathematical equations. However, they are also part of the way computers function. The algorithm that is in place tells the computer what to do if two or more specific things happen, what to do if they do not happen, when and how to repeat tasks, and more. For instance, an algorithm is at work when a person fills out a computerized form without inputting the date of birth in the correct format, and the computer program highlights that field and does not move to the next step in the process. The algorithm instructed the computer that it could only move to the next step if all the required information was in place.
Computational thinking is crucial to computer programming and computer science. Since Wing's article appeared in 2006, educators have increasingly incorporated computational thinking into school curriculums at all levels, including kindergarten. It is believed that this will help students be better prepared for an increasingly computerized world. It also helps to refine the overall thinking process in ways that can be applied to non-computerized problem-solving as well.
Young children are sometimes taught computational thinking using special blocks that they learn to sort and put in order. Each block has on it a specific instruction for a special robot that goes with the blocks. When the children put the blocks in a correct order and scan them with the robot, the robot will complete the task. Older students often learn computational thinking by programming various scenarios into video game–like computer programs that allow them to see the results of their thinking process play out on the screen. Experts believe a good understanding of computational thinking will help future generations become increasingly adept at programming and using computerized devices.
Bibliography
Denning, Peter J. "Computational Thinking in Science." American Scientist, Jan.–Feb. 2017, www.americanscientist.org/article/computational-thinking-in-science. Accessed 2 Mar. 2018.
"Dotcom Bubble." Investopedia, www.investopedia.com/terms/d/dotcom-bubble.asp. Accessed 2 Mar. 2018.
"Introduction to Computational Thinking." BBC, www.bbc.co.uk/education/guides/zp92mp3/revision/1. Accessed 2 Mar. 2018.
Lee, Irene et al. "Computational Thinking for Youth in Practice." ACM Inroads, Mar. 2011, users.soe.ucsc.edu/~linda/pubs/ACMInroads.pdf. Accessed 2 Mar. 2018.
Pappano, Laura. "Learning to Think Like a Computer." New York Times, 4 Apr. 2017, www.nytimes.com/2017/04/04/education/edlife/teaching-students-computer-code.html. Accessed 2 Mar. 2018.
Sykora, Carolyn. "Computational Thinking for All." International Society for Technology in Education, 11 Sept. 2014, www.iste.org/explore/articleDetail?articleid=152. Accessed 2 Mar. 2018.
Wing, Jeannette M. "Computational Thinking." Communications of the ACM, Mar. 2006, www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf. Accessed 2 Mar. 2018.
Wing, Jeannette M. "Computational Thinking, 10 Years Later." Microsoft Research Blog, 23 Mar. 2016, www.microsoft.com/en-us/research/blog/computational-thinking-10-years-later/. Accessed 2 Mar. 2018.