transformers were a new focal phenomenon covered by no other field.
They also argued that “algorithmic
thinking”—a process of designing a
series of machine instructions to drive
a computational solution to a problem—distinguishes computer science
from other fields.
In 1974, Donald Knuth said that
expressing an algorithm is a form of
teaching (to a dumb machine) that
leads to a deep understanding of a
problem; learning an algorithmic approach aids in understanding concepts
of all kinds in many fields.
In 1979, Edsger Dijkstra wrote about
the computational habits of mind he
learned to help him program well:
9
separation of concerns; effective use
of abstraction; design and use of notations tailored to one’s manipulative
needs; and avoiding combinatorially
exploding case analyses.
Seymour Papert may have been the
first to use the term computational
thinking in 1980, when in his book
Mindstorms he described a mental
skill children develop from practicing programming.
24, 25
In 1982, Ken Wilson received a No-
bel prize in physics for developing
computational models that produced
startling new discoveries about phase
changes in materials. He went on a
campaign to win recognition and re-
spect for computational science. He ar-
gued that all scientific disciplines had
very tough problems—“grand chal-
lenges”—that would yield to massive
computation.
33 He and other vision-
aries used the term “computational
science” for the emerging branches
of science that used computation as
their primary method. They saw com-
putation as a new paradigm of sci-
ence, complementing the traditional
paradigms of theory and experiment.
Some of them used the term “com-
putational thinking” for the thought
processes in doing computational
science—designing, testing, and us-
ing computational models to make
discoveries and advance science. They
launched a political movement to se-
cure funding for computational sci-
ence research, culminating in the High
Performance Communication and
Computing (HPCC) Act passed in 1991
by the U.S. Congress. Computer scien-
tists were slow to join the movement,
The current surge of interest in
computational thinking began in
2006 under the leadership of Jean-
nette Wing.35–37 While an NSF assis-
tant director for CISE, she catalyzed
a discussion around computational
thinking and mobilized resources to
bring it into K– 12 schools. Although
I supported the goal of bringing com-
puter science to more schools, I took
issue with the claim of some enthusi-
asts that computational thinking was
a new way to define computing.
7 The
formulations of computational think-
ing at the time emphasized extensions
of object-oriented thinking to soft-
ware development and simulation—a
narrow view the field. Moreover, the
term had been so widely used in sci-
ence and mathematics that it no lon-
ger described something unique to the
computing field.
In 2011, on the eve of Alan Turing’s
100th birthday, Al Aho wrote a signifi-
cant essay on the meaning of compu-
tational thinking2 for a symposium
on computation in ACM Ubiquity.
5 He
said: “Abstractions called computation-
al models are at the heart of computa-
tion and computational thinking. Com-
putation is a process that is defined in
terms of an underlying model of com-
putation and computational thinking
is the thought processes involved in for-
mulating problems so their solutions
can be represented as computational
steps and algorithms.”
2, a
a Aho’s definition Aho’s definition was noted by
Wing in 201035 and is used as the definition of
computational thinking by K12cs.org.
Aho emphasized at great length the
importance of computational models. When we design an algorithm
we are designing a way to control any
machine that implements the model,
in order that the machine produces a
desired effect in the world. Early examples of models for computational
machines were Turing machines,
neural networks, and logic reduction
machines, and, recently, deep earning neural networks for artificial intelligence and data analytics. However,
computational models are found in
all fields. The Wilson renormalization
model is an example in physics, the
Born-Oppenheimer approximation
is an example in chemistry, and the
CRISPR model is an example from biology. Aho says further, “[With new prob-lems], we discover that we do not always
have the appropriate models to devise
solutions. In these cases, computational thinking becomes a research activity that includes inventing appropriate
new models of computation.”
2
As an example, Aho points out that
in computational biology there is a big
effort to find computational models
for the behavior of cells and their DNA.
The search for computational models pervades all of computational science. Aho’s insight that computational thinking relies on computational
models is very important and has been
missed by many proponents.
Aho’s term computational model
is not insular to computer science—it
refers to any model in any field that
represents or simulates computation.
I noted several examples above. Moreover, his definition captures the spirit
of computational thinking expressed
over 60 years of computer science and
30 years of computational science.b
It also captures the spirit of computational thinking in other fields such as
humanities, law, and medicine.
This short survey of history reveals
two major sources of ambiguity in the
post-2006 definitions of computational thinking. One is the absence of any
mention of computational models.
This is a mistake: we engage with abstraction, decomposition, data repre-
b I was an active researcher in the computational
sciences field during the 1980s and 1990s and
can attest that his definition captures what
the computational scientists of the day said
they were doing.
The search
for computational
models pervades
all of computational
science.