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.
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.
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.
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.
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
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
Week 7: Personal Computing
- Computers hobbyists
- 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…