Re: Stein: Challenging the Computer Metaphor

From: Kyriacou Elias (
Date: Wed Apr 18 2001 - 14:49:38 BST

Stein begins the paper by defining what she calls the computational
metaphor and how it serves as the foundation for our understanding of
all things computational and the need to take a new approach.

> What is the computational metaphor I think that it goes something like this:
> Computation is a function from its inputs to its output. It is made up of a
> sequence of functional steps that produce--at its end--some result that is its
> goal. This is what I was taught when I was trained as a computer scientist.
> It is a model that computer scientists by and large take for granted. It is
> something the members of the field share. Sometimes we refer to it as
> Turing's or von Neumann's model; both men were influential in elucidating
> this particular way of thinking about computation. Although Turing's machine
> was abstract and von Neumann's concrete, each outlined a mechanism of
> execution that was strikingly centralised, sequential and result-oriented.

Then Stein represents the computational metaphor as a model that
encodes how computer scientists see what we do and how we think about
our work. Also it begins to describe how the programmer owns a single
thread of control and the programmer's main problem is to figure out
what happens next.

> A computer is, in this view, an extremely sophisticated (symbol-processing)
> abacus. Historically, this is entirely appropriate. The first "computors"
> were people assigned to perform mathematical calculations; mechanical
> computers were machines that simulated the mathematical processing of these
> human calculators.

Stein then discusses the approaches of Modular-functionalism, which is
a method for constructing systems in which the problem is decomposed
into its constituent functions and a solution is constructed by
sequencing calculations associated with each of the constituent
functions. This now ends Stein's first topic of, Computation's Control

Stein's second topic is about the power of the Paradigm. It begins by
giving an account that due to the computational metaphor and its
assets, computer technology has revolutionised much of the world.

> If we had to directly manage the variations in voltage across each individual
> component in our computer's motherboard, we would be hard pressed to write
> even small programs. The digital abstraction--looking at those voltages only
> when in stable configurations and even then regarding them as ones and zeros--
> allows us to treat the computer as a discrete logical artefact.

Stein then discusses parallel programming and in particular, automatic
program parallisation. This is an attempt to make multiple processors
look, to the programmer, like a single sequential machine of much the
sort that the computational metaphor perscribes.

Stein then discusses the contributions of the Turing and von Neumann
machines in computer science, and how the computational metaphor also
plays a major role in shaping how we all see computation.

> This way of thinking--this computational metaphor--has serious implications for
> how our own students learn to think. Beginning programmers have historically
> been taught to decompose problems logically into sequences of steps. Primary
> school mathematics instruction emulates programming, including the teaching
> of "algorithmic thinking" in elementary schools. Goal-directed, endpoint-
> driven planning is seen as preferable to a more fluidly serendipitous
> exploration (Lawler 1985; Papert 1980). This approach privileges certain
> epistemological styles over others and leads successful students to fluency
> with one particular set of techniques, discouraging others.

Although this one particular set of technique that is used for learning
may work for the majority, it may have serious implications on the
learning rate and ability of other students whose system of learning
may be significantly different from those other model students.
As we have learnt, each person is an individual in every respect and
this also stands true for each person's learning technique and
capabilities. Thus one glorified overall system can not be employed and
instead all techniques should be encouraged.

> Newell and Simon's (1972) "Physical Symbol System Hypothesis" gave
> credence to the idea that the brain was appropriately modelled as a computer
> or, more specifically, as a symbolic calculator. The emphasis in much of the
> early days of AI was on problem solving, game playing, and other forms of
> "puzzle-mode" intelligence. That is, early AI systems were concerned with
> well-defined problem domains in which the task of an ostensibly intelligent
> system was to deduce the correct answer from the problem as presented:
> cognition as computation as calculation.

This now ends the second topic and the third topic of, Computation I
Crisis begins. It discusses topics such as, computations involving
multiple virtually or actually simultaneous activities. The most
visible example of computations that necessarily take place across
multiple computers, is the world-wide web.
Then the topic discusses how the line between hardware and software is
blurred beyond recognition. This argument then extends to incorporate
the fact that the computer and its environment are also beginning to
merge into one system.

> Increasingly, a more communal, contextual, interactive approach to cognitive
> science is coming into its own, particularly among those whose research is
> informed by neuroscience. These new-school cognitive scientists reject the
> traditional metaphor's centralised architecture, in some cases rejecting
> computationalism as a result. Scientists like Smithers (1992), Port and van
> Gelder (1995) and Beer (1995) have even begun to rediscover--and sometimes
> reinvent--the work of the cyberneticists. They argue that dynamical systems
> provide a promising route to understanding and building intelligent systems.
> Any new computationalist theory of intelligence must provide the
> infrastructure to reconcile their advances with more traditionally
> computational theories of intelligence.

Stein then describes how the computational metaphor is used in
Molecular biology and this brings the third topic to a close.
The forth topic of Changing the Metaphor, discusses how today's
computation is embedded in physical and virtual environment. It
describes things such as robots and their behaviour, computers in
general and how we use them to cooperate and collaborate with us in our

> Changing the computational metaphor--moving from computation as calculation to
> computation as interaction--has far-reaching and fundamental effects on the
> way that we think. I mean this in three senses:
> It changes how computer scientists view computer science. This has
> particular implications for how and what we teach.
> It changes how we all approach problem solving and software design as well
> as the domains from which we draw our models and solutions. This has
> implications for the kinds of epistemological styles that we consider
> acceptable and, as a result, on the kinds of answers that future generations
> will produce.
> It changes how scientists--especially but not exclusively cognitive
> scientists--use computation as a reference model. This affects our
> understanding of thinking itself.
> This argument--that computation-as-interaction is an important motivating
> metaphor--is one that I wish to make in the remainder of this paper.

This brings the fourth topic to a close, and the fifth topic of, How We
Think begins by giving an overview that the remainder of the paper will
discuss the ramifications of the shift in the computational metaphor,
using the example of a navigation-based mobile robot.

Stein then discusses briefly her own experiences in her research group
and the problems they encountered.
The fifth topic ends by asking three questions that shall be in each of the
following three topics.

The first question asked, which happens to be topic six, Implication:
Thinking Like a Computer Scientist, begins by discussing that in
teaching computer science, we teach students to think in computational

> 6.1 Constituting a Community
> This problem --like every problem of interactive computation --is specified in
> terms of ongoing behaviour. The robot--depicted in figure 3--has two distance
> sensors, one angled to the right of forward and one to the left. It has two
> motors, one controlling its left rear wheel and one its right. By driving
> both wheels forward, the robot moves in a straight line; by driving only one
> wheel, the robot turns. The job of this robot's control program is to keep
> moving without running into obstacles.

Stein then proceeds to describe how the robot behaves and how each
sensor responds to their environment.

> 6.2 Beyond Robots: Interactive Programming in the Curriculum
> The robotic example described here serves as a great motivator for
> Introductory students. Robots are hands-on. They make much of their internal
> state manifest, misbehaving in ways that are often readily apparent. They
> encourage experimentation and observation. And interesting issues arise with
> much less complexity than in an operating system, the one example of a
> concurrent system found in the traditional undergraduate curriculum.

Stein gives an account about the course that is run for students with no
programming knowledge and what they are able to achieve by the end of it.

The second question asked, which happens to be topic seven,
Implication: Epistemology of Software Engineering begins by looking
how the shift from computation-as-calculation to
computation-as-interaction has impacted in terms of our relationships
with and expectations of computation for Software Engineering.

Stein gives an account of concurrency and how it is used in every day
amongst people and in the computing world.

> A robot is not this kind of beast. The left hand cannot wait for the right to
> conclude its computation; like a group of schoolchildren or a massive
> corporation, co-ordinated activity is its only viable option. In order to
> successfully program a robot, one must learn to think in terms of
> co-ordination frameworks, protocols, interfaces. This is the stuff of software
> engineering. Indeed, a brief experience programming a robot is a software
> lifecycle in an afternoon.

Stein then describes the scenario of the robot reaching a corner and
how the students had not anticipated this event. Stein gives plausible
solutions to overcome this problem based on laboratory experiments that
where carried out.

Stein proposes to validate new ways of thinking, such as the Blue
technique and Turkle's silenced tinkerers.

The third question asked, which happens to be topic eight,
Implication: Cognitive Science and the Mechanisms of Thinking begins
by looking at the implications of the shift from calculation to
interaction as a field traditionally indebted to the computational
metaphor: cognitive science.

> Cognitive science attempts to explain how thinking might actually work.
> Historically, it has done so by relying heavily on the computational metaphor
> (especially as articulated by Marr (1982)). Cognitive problems are described
> as abstract result-oriented functions; cognitive circuitry is simply a
> particular implementation of these calculational processes.

Stein then discusses the field of cognitive science and how it has
rediscovered the work of the cyberneticists. Stein then proceeds to
describe a robot who has a cognitive domain.

> This robot, by itself, is one that is difficult to describe in von Neumann
> terms. Its cognitive architecture is a community of interacting communities.
> There are no central portions of code where the behaviour all comes together.
> Instead, every decision is made locally on the basis of particular patterns
> of input: the robot moves away from a wall that may be too close, a landmark-
> detector creates itself when consistent sensory readings exceed a threshold,
> and random wandering is biased in the direction of a goal location when that
> goal location pulls more strongly than the competition.

Stein then continues to give an account of the behaviour of this robot
and then discusses approaches to Cognitive Architecture, which then
brings the paper to an end.

To summarise this paper, it is about changing the ways in which
computer scientists think about computation.

In the course of skywriting this paper, I found that I could not apply
many of my thoughts and comments on the subjects discussed because I
did not have enough background knowledge. Therefore, I was able to give
a summarised review of the paper.

This archive was generated by hypermail 2.1.4 : Tue Sep 24 2002 - 18:37:30 BST