V
viewpoints
DOI: 10.1145/1516046.1516054
the Profession of It
Beyond Computational
thinking
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.
What is Computational thinking?
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
is Computational thinking
unique to Computer science?
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