In the run up to the 2012 CAS Wales/Technocamps Conference, I wanted to draw attention to a concept that is increasingly praised for its wide utility across education, but rarely adequately explained: computational thinking. The phrase computational thinking was brought to the forefront of the computer science community as a result of a 2006 CACM article by Jeannette M. Wing. Wing is Professor of Computer Science at Carnegie Mellon University, where she leads the Microsoft Research-sponsored Centre for Computational Thinking.
Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.
Computational thinking is a way of solving problems, designing systems and understanding human behavior that draws on concepts fundamental to computer science. Computational thinking includes a range of mental tools that reflect the breadth of the field of computer science. Computational thinking means creating and making use of different levels of abstraction, to understand and solve problems more effectively; it means thinking algorithmically and with the ability to apply mathematical concepts such as induction to develop more efficient, fair, and secure solutions; it means understanding the consequences of scale, not only for reasons of efficiency but also for economic and social reasons. And this is one of the reasons why we are espousing the teaching of computer science in UK schools to every child; there is a quote that is commonly misattributed to Dijkstra: “Computer science is no more about computers than astronomy is about telescopes.” — this is where computational thinking fits in. Many people equate computer science with computer programming, with some parents seeing only a narrow range of job opportunities for their children who study computer science. Computational thinking is a grand vision to guide computer science educators, researchers and practitioners as we act to change society’s perception of the field. There are two key message from Wing’s 2006 article:
- Intellectually challenging and engaging scientific problems remain to be understood and solved. The problem domain and solution domain are limited only by our own curiosity and creativity;
- One can study computer science and do anything. One can study English or mathematics and go on to a multitude of different careers. Ditto computer science. One can study computer science and go on to a career in medicine, law, business, politics, any type of science or engineering and even the arts.
We should look to inspire the public’s interest in the intellectual adventure of the field. We’ll thus spread the joy, awe and power of computer science, aiming to make computational thinking (truly a 21st century skill) commonplace.
Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing and arithmetic, we should add computational thinking to every child’s analytical ability.