See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/234780746 University courses Article · January 1996 DOI: 10.1145/234286.1057844 CITATION READS 1 820 1 author: Martin Campbell-Kelly University of Warwick 52 PUBLICATIONS 904 CITATIONS SEE PROFILE All content following this page was uploaded by Martin Campbell-Kelly on 30 October 2014. The user has requested enhancement of the downloaded file. PAPER: UNIVERSITY COURSES UNIVERSITY COURSES Martin Campbell-Kelly Dept. of Computer Science University of Warwick Coventry CV4 7AL, UK ABSTRACT This paper describes the rationales for teaching university courses on the history of computing. The range and scope of typical courses are described in terms of their syllabuses and contents, teaching methods and resources, and eoursework and assessment. Finally, the criticism that the history of computing is too "intemalist" is discussed. INTRODUCTION: WHY TEACH THE HISTORY OF COMPUTING? In this paper I shall mainly address the topic of teaching a history of computing course to computer science undergraduates. Many universities teach courses with a title such as "Computers and Society," but although these courses often include a good deal of elementary historical material, they are not primarily about history• Again, many universities offer courses on the history of technology in which the history of computing could (indeed should) form a component. While I am sure that most computer science undergraduates would benefit from both computers and society courses and history of technology courses, I see these as being complementary to a full-scale course on the history of computing. The typical history of computing course is taught to a computer science undergraduate in much the same spirit that a history of mathematics course is taught to a mathematics student, a history of physics course to a physics student, or a business history course to a business studies undergraduate. Courses of this type, particularly when taught in the student's final year, can take advantage of two or more years of specialised learning and, therefore, will not in general be accessible to people outside the discipline. Such courses are commonly criticized for being too "internalist"--that is, of interest only to subject specialists and irrelevant to the wider community. I will come back to this point later. For the novice teacher about to start a course on the history of computing, however, there is something to be said for erring on the side of internalism and caution before attempting to launch a deeply historical course. As the distinguished historian Geoffrey Elton advises: •.. the professional scholar teaching others will do best if he stays within his professional competence; he may by all means try to enlighten his pupils about humanity at large, but he will be really successful only if he employs the techniques of his craft in the elucidation of the subject matter of his teaching. [Elton 1969, p. 187] It is all too easy for the professional historian to intimidate the newcomer. I recommend anyone entering the field to read Elton's The Practice of History originally published in 1967, but still in print after numerous impressions. Elton's important message is to welcome newcomers to history, and to help them avoid the common pitfalls. Any lecturer promoting a history of computing course is bound to have to justify its place in an already overcrowded curriculum. This is not a new problem, and not one that is peculiar to computer science. The civil engineer and historian Henry Petroski [1991] recently wrote an inspirational article in the American Scientist in which he justified the practice of teaching history in engineering courses. Petroski began by citing the results of a questionnaire completed by Duke University engineering FORUM ON THE HISTORYOF COMPUTING 799 MARTIN CAMPBELL-KELLY graduates from the 1950s. The graduates were asked (without any prompting) to list the courses that "proved to be most useful in their careers." For these senior engineers, overwhelmingly the most useful course turned out to be a history course they had taken 40 years ago. Petroski surmised that most of the technical courses taken by these students of the 1950s had long been forgotten because they had been taught in "an impersonal manner, providing little, if any, historical or biographical background to the state of the an or its developers." By contrast, the history course had attempted to "make apparent the interrelationships of things and people, of structures and environments, of machines and war, of technology and culture, of engineering and society." The history course enabled the students to integrate their isolated technical studies and to begin to understand the philosophy of engineering. Petroski's arguments translate very readily to the history of computing. The typical computer science undergraduate of today sees the world through an astonishingly narrow window: the student knows very little about computing before 1980, he or she often has a strong orientation toward the supply-side of computing, is unaware of the economics of computers or software, and is ignorant of the organizations that use them. A good history of computing course can do a great deal to widen this window. If that were all, it would be enough, but the study of the history of computing adds further value. There can be no question that a knowledge of the past can inform the present. As Fred Gruenberger put it so eloquently in the first issue of the Annals of the History of Computing in 1979: It seems that every single thing we know today about computing had to be learned--and relearned--the same painful and expensive way. It may just be that simple re-reading of history once or twice a year can provide us with insight, and it is insight that we desperately need. [Gruenberger 1979, p. 49] A course on the history of computing also exposes the student to a new and unfamiliar academic discipline--history. History teaches objectivity; it teaches the use and abuse of evidence; and it teaches the need to question received wisdom. For example, I find that before coming on to my third-year history course, many of my students have absorbed shockingly derisive opinions of FORTRAN and COBOL. But once they have understood the context in which these languages were developed, and something of the economics of innovation and the social construction of technology, they come to realise that there is a good deal more to a programming language than its syntax. Finally, a history of computing course gives students the opportunity and challenge of producing an extended piece of written work--often for the first time since coming to university. SYLLABUSES In order to get a better feel for the content of the history of computing courses currently being taught, last year I made a concerted effort to make contact with people who are currently teaching such courses. Altogether I learned of about a dozen courses world-wide, and I expect there are at least as many again that I do not know about. Several of the organizers of these courses were kind enough to send me copies of their syllabuses, examples of coursework assignments, and specimen examination questions. The discussion that follows is heavily based on these responses, although inevitably there is something of a small-sample problem in drawing broad conclusions from what is clearly still a little-taught subject. It is clear from the syllabuses I examined that there is a commonly accepted "core" of about 10 topics that appear in virtually all the courses (Table 16.1). Generally, these topics are taught in chronological sequence, though each topic tends to be pursued to its end. And of course, any attempt at a strict chronology breaks down when discussing aspects and applications of computing, such as programming languages or artificial intelligence, that range over a number of decades. 800 CHAPTER XVI PAPER: UNIVERSITY COURSES TABLE 16.1 Topics in the Historyof Computing. 10 Pre-history (e.g., numbersystems, the developmentof algorithms, logic and language, calculating instruments, etc.) Babhage's CalculatingEngines Hollerith, IBM, and office machinery Mechanical Calculators (e.g., differential analysers, the Harvard Mark I and other relay calculators,etc.) Electronic Calculators (ABC, war-timedevelopments:ENIAC,Colossus) The Stored-ProgramConceptand EDVAC The PioneerPhase (e.g., UNIVAC,Whirlwind,early industry) Commercialization(the later computer industry, System/360.giant machines,etc.) Aspects and Applicationsof Computing(e.g., architecture, programminglanguages,softwareengineering, AI, networks, etc.) Personal Computing In all the courses, the development of the stored-program concept in 1945 is regarded as the central event of the history of computing: it is the pivotal development to which the first half of the course leads, and from which the second half of the course springs. Courses typically spend approximately half the course on pre-1945 events and a half on post-1945, although there are exceptions. Although the courses have this core material in common, the treatment by individual lecturers varies greatly. Of necessity, each lecturer tailors his or her course to the specific background of the students, and to the lecturer's own technical and historical background, and interests. For example, one course devoted about a quarter of the time to the prehistory of computing, whereas other courses gave it only a token mention. Some lecturers with a strong specialist knowledge---of, say, computer architecture or software--have biased their courses in this direction by including several lectures on topics such as high-speed computing or software engineering. Clearly the criticism of internalism applies most strongly in these cases, but these criticisms are easily answered provided the specific developments are informed by a general background of the history of technology. A number of courses have attempted to avoid portraying the development of computing as a chain of unstoppable technological progress, by relating developments to such phenomena as World War II, the Cold War, or the Space Race. This has the effect of bringing in the wider context of science and technology policy, as well as making the course more accessible to noncomputer scientists. A much smaller number of courses interpreted the history of computing more as the history of information processing, and avoided discursion into specific technological details. These courses tended to be much richer in business, economic and social history, less supply-side oriented, and did not require heavy technical prerequisites. Perhaps the emergence of the personal computer shows the most variation in treatment. Several courses eschew the topic entirely--as perhaps being too modern, although the PC is now well within the purview of the "ten-year rule. ''2 But it may also be a reflection on the poor state of the secondary Almost since the dawn of interest in the history of computing in the late 1970s there has been an understandingthat one shouldavoid writinghistoryaboutevents morerecentthan 10 yearsago, becausethere has been insufficienttime to develop a proper perspective. Althoughthis is a wise injunction for the most part, one consequenceis that almost the only people to write about the historyof the personal computer have beenjournalists strongeron hyperbolethan history. FORUM ON THE HISTORY OF COMPUTING 801 MARTIN CAMPBELL-KELLY literature; for although there is a vast literature on the development of the personal computer, its quality is generally execrable. TEACHING METHODS, TEXTBOOKS, AND MATERIALS All the courses were reading based, with lectures being used to introduce the study topics and to pace students through the course. There were typically 30 hours of lectures on the courses, and there were from as few as a dozen to well over 50 students on the courses. Some courses included seminars giving an opportunity for students to make individual presentations, but this appears to be a vanishing luxury in the face of declining staff-student ratios. No single textbook covers all the material taught on any course. For the more technologically oriented courses, by far the most popular textbook was Mike Williams's A History of Computing Technology [ 1985b]. This excellent book was originally written as a text to support Williams's history of computing course at Calgary University [Williams 1985a], and covers the prehistory of computing up to System/360. Unfortunately Williams's book is currently out of print and this promises a headache for courses that make heavy use of it. Another popular text is Computing Before Computers, edited by William Aspray [1990a], which includes contributed chapters from several pioneers in teaching the history of computing. Unfortunately this text takes events only as far as the invention of the stored-program concept, and so covers only the first half of any course. Another popular book is Herman Goldstine's The Computer: From Pascal to von Neumann [1973], which has the merit of being available as an inexpensive paperback but is now showing signs of age. Finally, one should mention Brian Randell's pioneering Origins of Digital Computers--first published in 1973, and now in its third edition [Randeli 1982]. This book consists of a collection of key papers on the development of computing; although the organization and introduction of the material is exemplary, it is exclusively devoted to computer technology, and is somewhat impenetrable for the average undergraduate. In the absence of a single textbook, all course organizers have adopted the strategy of supplementing or replacing a textbook with a selection of readings. These fall into three categories: reprints of primary sources (e.g., extracts from von Neumann's EDVAC Report [ 1945]), historical articles (e.g., papers from the Annals of the History of Computing or Technology and Culture), and chapters from historical monographs. There is an economic problem (not to say a copyright problem) in distributing photocopied handouts to large classes, so that some course organizers have deposited photocopied materials for in-library reading and placed monographs on shelf-reserve. In fact although the textbook problem is difficult, the wider literature of the history of computing has blossomed remarkably in the last decade, and there are now at least two dozen good monographs on the history of computing. One can mention such highlights as Nancy Stern's From ENIAC to UNIVAC [1981], Paul Ceruzzi's Reckoners [1983], and the superb histories of IBM's computers [Bashe 1985; Pugh 1991]. The history of programming languages has also been particularly well treated in the impeccably produced proceedings of the first History of Programming Languages conference [Wexelblat 1981]; and one must pay tribute to Jean Sammet's pioneering Programming Languages: History and Fundamentals which was first published at the remarkably early date of 1969. There are also now several excellent biographies of key figures in the history of computing, such as Austrian's Herman Hollerith [1982], Hodges's Alan Turing [1983], and Aspray's von Neumann [ 1990b]. In the broader contexts of the information society and policy arenas one can single out James Beniger's The Control Revolution [1986], and Kenneth Flamm's Targeting the Computer [ 1987]. One should also mention the contribution of the MIT Press History of Computing Series, and the Charles Babbage Institute Reprint Series for the History of Computing, now totalling 10 and 16 volumes, respectively. Clearly a well-stocked library is the sine qua non of a successful course in the 802 CHAPTER XVl PAPER: UNIVERSITYCOURSES history of computing. The book-review section of the Annals of the History of Computing is the best single place for keeping up-to-date on this rapidly growing literature. Organizers of history of computing courses are evidently conscious of the need to motivate and retain their students, and many have gone to considerable efforts to enliven their courses with visual aids, outside speakers, and other novelties. There is a wealth of visual material in the published literature from which lecturers have prepared slides, and some of the science museums have produced slide sets of their artifacts. Examples of movie films include the 1946 newsreel of the ENIAC, the film of the EDSAC [Cambridge University 1951], the John von Neumann movie [AMA 1966], and promotional films of many first-generation computers. There appears to be no simple way, other than the informal grapevine, of tracking down this material. A number of course organizers use artifacts or simulations to illustrate early calculating technologies. Relatively easy to find artifacts include abacii, slide rules, mathematical tables, Comptometers and Brunsvigas, punched cards, and wiring boards; computer artifacts include electronic tubes and discrete transistor boards, core memory planes, and recording media. In the absence of artifacts, it is possible to simulate early computers: for example, at Calgary University, Mike Williams enables students to program a 1950s LPG-30 via a simulation program, to avoid wear-and-tear on an actual LPG-30 [Williams 1985a]; and at Warwick and Cambridge Universities, we use an EDSAC simulator that runs on a Macintosh personal computer [Campbell-Kelly 1992]. Where geographically possible, museum visits are an alternative to the ownership of artifacts. For example, at Warwick, we were hosted for a day last year by the London Science Museum, who generously organized a series of demonstrations that tied in with the course. Most notable was a demonstration of Babbage's Difference Engine No. 2 by the engineers who constructed it. The engineers took an obvious pleasure in fielding questions from such knowledgeable and enthusiastic visitors. C O U R S E W O R K AND ASSESSMENT The term paper or essay, and end-of-session examination, were the predominant means of assessment on all the courses. Written work poses difficulties for nonhumanities students, whose writing skills are rusty or nonexistent, and lecturers are sensitive to this problem. One strategy for ramping up writing skills has been to set a relatively undemanding first assessment, such as a 500-word book review or a biographical sketch. A lot of attention was paid to developing students' knowledge of scholarly apparatus and their ability to use library resources. They were taught, formally or informally, how to structure essays and marshal their arguments; how to quote effectively and accurately; to understand the nature of plagiarism; to make proper use of footnotes; and to cite references in a consistent style. Students were generally referred to some such authority as the Chicago Manual of Style. The typical assessment was 2000-3000 words in length, and students were invariably offered a wide range of topics, or even a topic of their own devising. Besides making the grading of dozens of essays less tedious, the wide range of topics gives each student a chance of finding a topic that is personally interesting, and--at least as important--reduces the competition for single copies of library books. Topics ranged from the highly technological through to broadly based business and economic history. Typical assignments were: 1. The Invention and Development of the Positional Number System (Calgary) 2. The History of IBM since the 1940s (UMBC, Maryland) 3. The Controversy over the Invention of the Stored-Program Concept (Warwick) FORUM ON THE HISTORYOF COMPUTING 803 MARTIN CAMPBELL-KELLY 4. John von Neumann: His Life and Contributions to Computers (several universities) 5. The Evolution of a Programming Language (American University) The consensus was that students should be required to produce at least one piece of written work. However, for the truly reluctant writer, a programming exercise was sometimes permitted--such as constructing a Turing Machine simulator, or programming a simulated computer. As well as providing training in scholarship, the coursework forces the student to study at least one topic in real depth. All the courses were additionally assessed by an end-of-session or take-home examination. Questions were similar in spirit to the essay topics, but generally more focused to discourage discursive answers. (Examples: "Describe, and show the importance of, the various steps in the search for memory from the 1940s to the 1980s"--UBC, Maryland; "Describe the main stages leading to the widespread acceptance of high-level programming, and explain why this acceptance took so long to achieve" --Warwick.) CRITIQUE Let it be said: N o t everyone approves of history of computing courses. For example, Mike Mahoney of Princeton University told me, in a private communication, that he preferred to embed the subject in a larger course on the history of technology. As he rightly observes, "Computing has its own parthenogenic myth of springing full-grown from the heads of Turing and von Neumann, and history would do well to work against it." As Mahoney intimates, the main criticism of the history of computing is that it is too internalist; that the history of computing is a private history, uninformed by sound methodology, and of little relevance to the wider historical community. The same criticism can, of course, be made of the history of mathematics or the history of physics. In fact, with the honourable exception of Mahoney, I find little evidence that large numbers of historians of technology are rushing to assimilate computing into their courses. So, if the history of computing is to be taught at all, it is likely to be done by enthusiastic academics with a mission to teach the subject: computer scientists with little formal historical training; and a few historians with a modest knowledge of computing. In fact, I would argue--not least to stimulate debate at this forum--that the history of computing is a special case, and not really like the history of mathematics or physics at all. Computing is the dominant technology of the second half of the twentieth century, which pervades all aspects of economic life. In this, it is much more akin to business history (say). No one who has read Chandler's magisterial Visible Hand [1977] can be left thinking that business history is narrow or internalist. At the moment there exists no great synthetic work in the history of computing of comparable stature, although James Beniger's Control Revolution [1986] shows clearly the vast canvas on which the history of computing will ultimately be painted. When it arrives, the great synthetic work on the history of computing will have to draw in full measure from the history of technology, the history of science, business and economic history, and social history. At the present time, the subject is firmly anchored to the history of technology, but increasingly it is drawing on business history (e.g., to explain the development of the computer industry) and the history of science (e.g., to understand the development of algorithms, computability, and artificial intelligence). Of course, it is a very tall order to expect a teacher of the history of computing to be expert in all these different historical genres. But we should all be aware of them, and as the literature develops we should speedily incorporate it into our courses. For all of us, the development of that literature is a fundamental brake on the development of history of computing courses. For example, at the present 804 CHAPTER XVI PAPER: UNIVERSITY COURSES time most of us wisely refrain from dabbling in social history. Yet the phenomenon of the computer hacker and the emergence of the personal computer cry out for the attention of the social historian; for the moment we must be patient and give our students the best guidance we can. ACKNOWLEDGMENTS 1 am most grateful to the following who supplied me with information about their courses and/or commented on a draft of this paper: Tim Bergin, Corrado Bonfanti, Colin Burke, Paul Ceruzzi, John Fauvel, Jan Lee, Mike Mahoney, Judy O'Neill, Bob Rosin, Steve Russ, Jean Sammet, James Tomayko, Arthur Norberg, Mike Williams, and Roy Wilson. REFERENCES [Aspray, 1990a] Aspray, William F., Ed., Computing Before Computers, Ames: Iowa State University Press, 1990. [Aspmy, 1990b] Aspray, William E, John wm Neumann and the Origins qfModern Computing, Cambridge, Ma: MIT Press, 1990. lAMA, 1966] American Mathematical Association, John yon Neumann, 16 mm. fire, sound, B/W, 63 min, 1966. [Bashe, 1985] Bashe, Charles etal., IBM~ Early Computers, Cambridge, Ma: MIT Press, 1985. [Beniger, 1986] Beniger, James R., The Control Revolution: Technological and Economic Origins of the Information Society, Harvard University Press, 1986. [Bonfanti, 1993] Bonfanti, Corrado, A Course on the History ¢~flnformatics at the University of Bari (Italy), typescript, Jan. 1993. [Cambridge University, 1951] Cambridge University Computing Laboratory, The EDSAC Film, 16 mm. film, sound, colour, 10 rain., 1951 and 1976. [Campbell-Kelly, 1992] CamphelI-Kelly, M., Edsac: A Tutorial Guide to the Warwick University EDSAC Simulator, University of Warwick, 1992. [Ceruzzi, 1983] Ceruzzi, Paul E., Reckoners: The Prehistory of the Digital Computer J~om Relays to the Stored Porgram Concept, 1935----45, West Port, CT: Greenwood Press, 1983. [Chandler, 1971] Chandler, Alfred D., The Visible Hand, Harvard University Press, 1971. [Elton, 1969] Elton, G. R., The Practice of History, Glasgow: Collins-Fontana, 1969. First published ! 967, University of Sydney Press. [Flamm, 1987] Flamm, Kenneth, Targeting the Computer, Washington, DC: Brookings Institution, 1987. [Austrian, 1982] Austrian, G. Herman Hollerith: Forgotten Giant of Data Processing, New York: Columbia University Press, 1982. [Goldstine, 1972] Goldstine, Herman H., The Computer: From Pascal to yon Neumann, Princeton University Press, 1972. [Greuenberger, 1979] Greuenberger, F. J., The history of the JONNIAC, Annals of the History of Computing, Vol. 1, pp. 49-64, Jul. 1979. [Hodges, 1983] Hodges, Andrew, Alan Turing: The Enigma, London: Burnett Books, 1983. [Petroski,, 1991] Petroski, Henry, In context, American Scientist, Vol. 79, May-June 1991, pp. 202-204. [Pugh, 1991] Pugh, Emerson W., IBM's 360 and Early 370 Systems, Cambridge, MA: MIT Press, 1991. [Randeil, 1982] Randell, Brian, The Origins of Digital Computers, 3rd. ed., Berlin and New York: Springer Verlag, 1982. [Samrnet, 1969] Sammet, Jean E., Programming Languages: History and Fundamentals, Englewood Cliffs, NJ: Prentice-Hall, 1969. [Stem, 1981] Stern, Nancy B., From ENIACto UNIVAC,Bedford, MA: Digital Press, 1981. [von Neumann, 1945] yon Neumann, John, First Draft of a Report on the EDVAC, June 1945; reprinted in Papersof John van Neumannon Computingand ComputerTheory,W. F. Aspmy and A. W. Barks, Eds., Charles Babbage Institute Reprint Series for the History of Computing, Vol. 12, Cambridge, MA: MIT Press, 1986. [Wexelblat, 198 I] Wexelblat, Richard L., Ed., History offProgrammingLanguages,Academic Press, 198 !. [Williams, 1985a] Williams, Michael R., A course in the history of computation, Annals r~ftheHistory of Computing,Vol. 7, July 1985, pp. 241-244. [Williams, 1985b] Williams, Michael R., A History of ComputingTechnology,Englewood Cliffs NJ: Prentice-Hall, 1985. FORUM ON THE HISTORY OF COMPUTING View publication stats 805
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )