CSC80 History of Computing


This course is a survey of tools for computation, from number systems and the abacus to contemporary digital computers. The majority of the course focuses on the development of modern electronic computers from ENIAC to the present, and includes the study of hardware, software, and the societal effects of computing. Goals

By looking at (often contemporary) scholarly articles about both the development of technology, and the parallel societal changes, we encourage students to see how changes in both are related. We see how technological developments are driven by world events (such as wars), and the impact of unforeseen consequences of using technology (how for example the telephone changed our social conventions), and through discussion, apply those ideas to the world today.

Required Text

Martin Campbell-Kelly, William Aspray, Nathan Ensmenger and Jeffrey Yost. Computer: A History of the Information Machine, 3rd ed. (Westview, 2014).

William Aspray, (ed.) Computing Before Computers (Iowa State, 1990)


Paul Ceruzzi, A History of Modern Computing, 2nd ed (MIT, 2003).

Assignments & Grades

There are a number of readings each week. Those labeled readings should be read, and will be used in class discussion. The remaining articles for a given week should be “skimmed.” What does that mean? It means you should look over the article to get a sense of the argument the author is making, though not necessarily the details of the evidence they are using to support that argument. Everything should be read prior to class.


Each student will give one presentation and lead a discussion on an article. The presentation should be 12 minutes, leaving 8 minutes for discussion. In general, your presentation should include: the author's argument; an overview of the evidence the author uses to make this argument; reflection on how the article relates to prior articles read in class; and discussion questions.

It is recommended you meet with me during office hours, or schedule an appointment to go over your presentation prior to class.

Reflection Paper

You will submit a 1000-word (single-spaced) article reflection on one article every two weeks (covering weeks 2&3, weeks 4&5, weeks 6&7 and weeks 8&9).

You can select any article from the assigned two-week period. Similar to the presentations, your reflection should include: the author's argument; an overview of the evidence the author uses to make this argument; reflection on how the article relates to other articles used in the class; and questions you have after reading the article. In addition, you should evaluate the strength of the article; how well does the evidence provided support the author's argument?

The week you give your presentation, your article reflection should be on the article you presented and include a reflection on the class discussion.

Assignment Papers

There will be two papers: a period paper that discusses important topics and issues in computing during one year; and a final paper on the history of a particular aspect of computing. You will receive more detailed requirements and guidance for both these papers. Each paper has two due dates in the schedule. For the first deadline, you should have a completed paper. Peer reviews of that paper will then take place, and you will receive feedback comments from me and others. You will then submit a final revision of your paper.


There will be a midterm and a final exam.

Attendance and Participation

Finally, class attendance and participation are a critical component of the course. Your participation should demonstrate that you have completed and thought about the required reading for the course. There may also be short, easy (if you did the reading) pop-quizzes that will count towards your participation grade.

Grade Allocation

Presentation: 10% Article Reflections: 20% Paper 1: 15% Paper 2: 15% Midterm: 15% Final: 15% Participation: 10%


Week 1: What are Computers?


  • Early tools for computation
  • Number systems and notations
  • Calculating tools and machines

Week 2: Technology and Historical Change


  • Difference and analytical engines
  • The politics of artifacts
  • Analog computers

Week 3: Digital Computing


  • Computing in WWII
  • Codebreaking

Week 4: Storing Programs


  • Von Neumann Architecture
  • The need for storage

Week 5: Computer Hardware


  • The mainframe
  • Vacuum tubes and transistors

Week 6: The Software Industry


  • The break up of IBM
  • Microsoft

Week 7: Personal Computing


  • Computers hobbyists
  • Usability
  • Apple and Microsoft

Week 8: The Internet


  • Connected machines
  • Protocols and handshaking
  • Early Internet tools: Gopher & Mosaic

Week 9: Artificial Intelligence


  • Intelligent machines
  • HAL: AI in TV and Film


Week 10: The Social Revolution


  • Social Robotics
  • Social relationships
  • Facebook, myspace, twitter…