V
viewpoints
DOI: 10.1145/1516046.1516054
If we are not careful, our fascination with “computational thinking” may lead us back into the trap we are trying to escape.
In thE mIDst of our struggle to better articulate why computing is so much broader than programming, a movement of sorts has emerged. It is being called “computational thinking.” 8 The U.S. National Science Foundation’s Computer and Information Science and Engineering (CISE) directorate has asked most proposers, especially those in its CPATH initiative, to include a discussion of how their projects advance computational thinking. Carnegie Mellon University’s Center for Computational Thinking says, “It is nearly impossible to do research in any scientific or engineering discipline without an ability to think computationally.…[We] advocate for the widespread use of computational thinking to improve people’s lives.” 1
Computational thinking is seen by its adherents as a novel way to say what the core of the field is about, a lever to reverse the decline of enrollments, and a rationale for accepting computer science as a legitimate field of science. This movement is driven by four main concerns:
•Bringing computer science to the table of science (as partner, not programmer).
• Finding ways to make computer science a more attractive field for students to major in and for other sciences to collaborate with.
• Resurrecting ongoing inquiry into
the deep questions of the field. 6, 9
• Sho wing that computation is fundamental, and often unavoidable, in most endeavors—a desire to proselytize.
Since starting a stint at NASA-Ames in 1983, I have been heavily involved with computational science and I have devoted a substantial part of my own career to advancing these objectives. Since
÷?
2003 I have advocated a great-principles approach to the perennially open question, “What is computer science?” 4
Yet I am uneasy. I am concerned that the computational thinking movement reinforces a narrow view of the field and will not sell well with the other sciences or with the people we want to attract. I worry that we are not getting out of the box, but are merely repackaging it with new paper and a fresh ribbon.
In this column, I will examine two key questions:
•Is computational thinking a unique and distinctive characterization of computer science?
• Is computational thinking an adequate characterization of computer science?
My own conclusion is that both answers are no. I will suggest that a prin-ciples-based framework answers both questions yes. We are custodians of a deep and powerful discourse: Let’s not hide it with an inadequate name.
Computational thinking has a long history within computer science. Known in the 1950s and 1960s as “algorithmic thinking,” it means a mental orientation to formulating problems as conversions of some input to an output and looking for algorithms to perform the conversions.
Today the term has been expanded to include thinking with many levels of abstractions, use of mathematics to develop algorithms, and examining how well a solution scales across different sizes of problems. 1
In the 1940s, John von Neumann wrote prolifically on how computers would be not just a tool for helping science, but a way of doing science.
As early as 1975, Physics Nobel Laureate Ken Wilson promoted the idea that simulation and computation
References:
Archives