Fall 2007, Harvard Department of History of Science
Room: History of Science (Science Center) 469
Instructor: Christopher Kelty
Description: 20th century history of the differentiation of hardware and software and the rise of networked, distributed forms of computing. Topics may include: mathematical precursors to programming languages, language and automata theory, history of computer science; development of key ideas and technologies in operating systems, networking, personal computing; geneaologies of the office, the library, the global brain, hypertext, and interactivity; history of telecommunications industries in US and Europe; the development of data networking, videotex, private networks, Bulletin Board Systems, Arpanet, CSNET, Internet and current debates about network structure and design. Theories of information society and network society. The role of intellectual property, regulation and forms of organization and coordination in the development of information technologies.
Prerequisites: None
Requirements: Three Writing assignments, participation in discussion.
Books Available at the Bookstore:
(Subject to Capricious and Sudden changes based on mood, check the website before reading).
For most people, the only aspect of software and networks they ever see will be the interface– the series of actions and responses that are perceivable by human senses. In many ways, the way an interface is understood reflects deep assumptions about the way human beings think and act. As interfaces have evolved, so have definitions of what humans can do.
concepts: interaction, event, response time, real-time/batch-processing, editors, human-computer symbiosis
Mon Sept. 17: Introduction, Orientation of class
General Overview Works (useful for both the uninitiated and the learned):
Wed Sept. 19: interface
Reading:
Fri Sept. 21: Discussion
other topics and readings of note:
Beyond the dyadic approach to the interface is the question of world-making using the computer. The obvious candidates include games and online worlds, social networking software and sites, and online love and sex. But the vagaries of world-making stretch beyond the simple question of “virtuality” to economics, politics, warfare and security. Across media, but beginning especially with the time-shared multi-user computer, new modes of being in the world emerge.
Concepts: identity, avatars, sociality, users, accounts, passwords, security, privacy, authorship
Mon Sept. 24: Games to Worlds
Readings:
Optional:
Wed Sept. 26: “Social” software
Other related texts:
Mon Oct. 1: Culture, Counterculture, History
Reading:
Other:
Wed Oct. 3: Privacy, Security, Etiquette
Reading:
Other:
Fri Oct. 5:
Mon Oct. 8: No Class Columbus Day
Wed Oct. 10: Movie: Hackers 1984, dir. Fabrice Florin 26 Minutes; BBS: The Documentary 2004 dir. Jason Scott (Disc 1: c. 45 min; Discs 2+3 on reserve)
The history of the “application” has yet to be told. More than software, but less than a computer, the application is the motivating force, economically, practically and socially behind the computer revolution– but what is an application? From the “application” of computers to warfare to the emergence of “libraries” to the beginning of an independent market in software to the personal computer to the current generation of web services.
Concepts: databases, files, file structure, formats, unbundling, business logic, wysiwyg, windows, key-commands, path dependency (QWERTY), killer apps, the software crisis, software engineering, structured programming, extreme programming.
Mon Oct. 15: Origins/Ends of Software
Readings
Other
Wed Oct. 17: Personal Computers and beyond
Readings:
On Englebart:
Mon Oct. 22: Digital vs. Analog applications, analysis vs. computation.
Readings:
Wed Oct. 24: Researching the history of applications
A list to start from: dbase (databases), lotus 123 (groupware), visicalc (spreadsheets), word processing programs, drawing programs (sketchpad, macdraw, illustrator), hypertext (applecard), photo manipulation programs (photoshop), statistics (SPSS), Engineering (MatLab), architecture and design (AutoCad), mapping (GIS, ESRI) Mathematics (Mathematica), Artificial Intelligence (DENDRAL), email, web, blog, wiki, youtube, napster, bittorrent.
A few places to start:
Do hardware and software enslave, or do they set you free? The history of the operating system is also the history of the political economy of information technology and more recently, the Free Software movement. Decisions about organization, privacy, security, accountability and engineering elegance are combined in the evolution of the time-shared operating system and its transformations over the last 30 years, in combination with networks and applications. This section focuses primarily on the example of Free Software as a site for understanding the transformations of liberty by hardware and software.
Concepts: time sharing, batch processing, memory management, super-users, kernel, process management, modular, micro and monolithic, drivers and user space.
Mon Oct. 29: Movie: Revolution OS. dir. J.T.S. Moore, 2003. On Reserve
Readings:
Optional background:
Wed Oct. 31: Background to FOSS
Readings:
Optional Background:
Mon Nov. 5: UNIX
Readings:
Primary Sources and Background:
Wed Nov. 7: Analyzing FOSS
Readings:
Also look at:
Why Programming Languages? Who created the science of software and why? The story of the transition from the engineering of machines to the programming of computers comes in myriad forms. The “proleptic” version, in which the the future of the computer is imagined by multiple disciplines from economics and engineering to biophysics and neurology; the “bootstrap” version, in which the successive innovations are understood as progressive liberations of a pure software from an increasingly generalized hardware; the simple linear story of progress of logical theory to computer science and so on. The question of “memory” and its twin “composition” guide the story here: memory both as an engineering problem and as that which drives the structure and increasing complexity of programming languages and levels of abstraction that create the possibility for new kinds of composition.
In this section readings focus on the weird period of 1950-1980 in which the discipline of computer science was created, and the computer went from being a specialized scientific device for calculating to a ubiquitous feature of family living rooms.
concepts: compiler, parser, debugger; procedural and object oriented, programming, scripting, macros, bookmarks. history of automation, automata and formal languages, computational complexity, formal semantics, languages: LISP, Algol, Fortran, Pascal, BASIC, C, Java.
Mon Nov. 12: No Class (Veterans Day)
Wed Nov. 14: Memory/Composition as Programming
Other
Mon Nov. 19: Programming Languages and Style
- Mahoney, Michael, “Software as Science, Science as Software” in History of Computing: Software Issues ed. Ulf Hashagen, Reinhard Keil-Slawik, and Arthur Norberg, 2003. On the author's website
Stop by the library and take a look at these two books:
Optional primary and background:
Wed Nov. 21: Discussion.
The promise and the danger of the computer both concern their ability to transform society, sovereignty and security– but exactly how is never quite obvious. From the first stirrings of the giant brains of the 1950s, to current obsessions with identity theft, every aspect of life and governance has been subjected to the logics and practices of software, and at heart to the power and flexibility of data structures and algorithms. From the perspective of issues of control, management and decision making, the history of the computer can be re-imagined as a problem of governance, a problem of the management of organizations, territories, institutions and individuals.
concepts: data structures, trees, lists, sorting, searching, algorithms. Decision analysis, operations research, risk, trust, verification.
Mon Nov. 26: The Cold War I, Russia
Wed Nov. 28: The Cold War II, The US
Background:
Mon Dec. 3: Trust, Risk and Proof, cont't
Wed Dec. 5: From Algorithm to “Design Priniciple”
Background;
Other works
Program, process and context. Computational objects simultaneously exist in three forms: as the source code or program that describes what the computer should do, as the process running on a computer, and as the context of actions that are expected from other humans or non-humans interacting. Such a strange ontology is both new and old: it is new because the machines and programs and devices and algorithms are new; but it is old because it invokes a very old metaphysical conundrum about the impossible and infinitely receding temporality of living. Two books address this: BC Smith's is a book of metaphysics that seeks to be appropriate to the novelty of computational objects; E. Ullman's novel is about that one event that brings everyone directly into confrontation with the frustrating inaccessibility of a process as it runs: the bug.
Mon Dec. 10: The mysteries of the organism
Wed Dec. 12: Ullman and Smith cont'd
Mon Dec. 17: Conclusion