School of Computer Science THE UNIVERSITY OF BIRMINGHAM
DISCLAIMER
THIS IS NOT AN OFFICIAL DOCUMENT OF THE UNIVERSITY OF BIRMINGHAM
OR THE SCHOOL OF COMPUTER SCIENCE. NEITHER THE UNIVERSITY NOR THE
SCHOOL HAS ENDORSED THE OPINIONS EXPRESSED HERE.

Teaching History of Computation in Schools
Is this feasible?

Aaron Sloman
Last updated: 24 Jun 2009
Installed: 23 Jun 2009

NOTE:

    An earlier version of this was posted to the computing-at-school
    mailing list.

    See
        http://groups.google.com/group/computing-at-school/

Jump to Comments
It is often said that the basic things computers operate on are
numbers. This is quite wrong -- they operate on bit patterns and on
various mechanisms for doing things with bit patterns, including:
reading them in, sending them out, copying, comparing, modifying,
treating them as instructions, and feeding them through various
devices which take in bit-patterns and spew out bit patterns.
("gates").

How the bit patterns are implemented in physical machinery has
changed tremendously since the days of World War 2. So have the ways
in which bit patterns are interpreted.

Those operations on bit patterns were initially interpreted mainly
as operations on numbers, but as time went on they were interpreted
as operations on more and more different sorts of things: strings of
text, machine instructions, databases of corporate or other
information, images, music, email messages, plans, mathematical
proofs, etc....

But trying to make interesting things happen in computers by
directly specifying operations on bit patterns is soul-destroyingly
tedious and difficult, so over the last half-century we have
increasingly used computers themselves to help us move further and
further away from such self-torture. That process is one of the most
interesting in the history of science and engineering.
    For an introduction to the notion of virtual machines (VMs) running
    on physical machines (PMs) see

    http://www.cs.bham.ac.uk/research/projects/cogaff/talks/#wpe08
    Virtual Machines in Philosophy, Engineering & Biology (PDF)
    (Presentation at WPE 2008, London November 2008)

    http://www.cs.bham.ac.uk/research/projects/cogaff/09.html#vms
    What Cognitive Scientists Need to Know about Virtual Machines
    (Short conference paper for CogSci'09)
    
Has anyone ever tried developing a historical course at school level
giving a feel for the succession of changes of level of abstraction,
and power, and the increasing diversity of forms, of formalisms and
the tools with which software designers and users have been able to
design or interact with computers.

I don't mean starting by teaching children to design electronic
circuits, then teaching them to program in machine code, then to use
a sequence of higher level languages, etc.

I am thinking more of giving them a historical sense of the
tremendous intellectual achievements and creative thinking of many
kinds that increasingly rapidly changed the very nature of computers
-- by designing new formalisms, compilers, interpreters, new models
of computation, processors, short term and long-term storage
mechanisms, operating systems, development environments,
verification and testing systems, memory management systems,
interface devices, network systems, file-management systems, device
drivers, computer controlled manufacturing systems, etc. so that
it's only slightly fanciful to say that modern computing systems
differ from those in the early 1950s (or earlier) in something like
the way vertebrates and other complex animals differ from the
earliest micro-organisms.

[Actually it is an exaggeration, but may one day cease to be.]

One of the land-marks was the role of computers in putting people on
the moon.

Perhaps battles in evolution between biological species could be
compared with battles between programming languages, operating
systems, processor technologies, storage technologies, design and
development methodologies, editors(!) etc. (It wasn't always the
intrinsically fittest that survived.)

I wonder whether, for many of school age, that kind of history would
be at least as interesting as the successions of wars, royal
families, political or national take-overs, revolutions, social,
economic and cultural changes, etc. that filled history lessons in
my young days.

The material could include some of the philosophical debates about
whether computers can think, understand language, be creative, see
things, learn, have free will, be conscious, including perhaps
Turing's Mind 1950 article, which unfortunately is often mis-quoted:
he did not propose a test for intelligence or a definition of
"intelligence". (http://cogprints.org/499/0/turing.htmltest)

Some of the students who initially only want to know more about how
we got here, might end up wanting to get more detailed technical
knowledge and competence in the field.

    Some of the material required, though by no means all, is in George
    B. Dyson's 1997 book, Darwin Among The Machines: The Evolution Of
    Global Intelligence
    http://www.amazon.co.uk/Darwin-Among-Machines-George-Dyson/dp/0140267441/ref=sr_1_3?ie=UTF8&s=books&qid=1245889197&sr=1-3
Would history teachers be interested in collaborating with
computing/IT teachers? (Or vice versa?)

Is this idea too fanciful for the current context in schools?

Comments welcome:
If anyone wishes to send suggestions for improvement, or
elaborations of this idea, or criticisms, modifications, comments,
etc, please do: Email A.Sloman@cs.bham.ac.uk

If you don't want your comments included in this web site, please
say so.

Comments received

Date: Wed, 24 Jun 2009 11:10:14 +0100
From: Dr Kevin R Bond educational-computing.co.uk
    Subject: Re: [CAS] Another (very tentative) proposal - History!

    I don't think that your idea is too fanciful but target audiences vary
    with the age range in what they want to get from a Computing course. I
    have a mixed bunch of AS/A Level Computing students, some I don't think
    would want to study the history of computing as a historian would do,
    others might but in the main my students are interested in how the
    current technology works and how to apply it to things that they are
    interested in. I feed in the history along the way when I feel there is
    a need to set a context, to liven up a lesson, etc. However, I do think
    that the lessons drawn from the history of computing can be used to
    teach principles. The CSUnplugged resource by Tim Bell is
    principles-based. I have tried in my new A Level book to link theory and
    practice to principles, e.g. in the chapter on information hiding, I
    make a reference to the Enigma machine and I suggest that schools
    arrange a visit to Bletchley Park. I think your suggestion of working
    with history teachers is a good one, someone needs to write a reader
    that could be the basis for a history of computing theme that could
    be taught taught as part of lower school history.
    


Maintained by Aaron Sloman
School of Computer Science
The University of Birmingham