History and Future of Computing
CSCI 4830, Spring 2016

Time: Tuesday, Thursday, 11:00pm - 12:15pm
Room: LIBR M498

Instructor: Aaron Clauset
Office: ECOT 743
Office hours: Tuesday and Thursday, 1:00pm to 2:00pm, or by appointment
Email: look it up
Course information: Syllabus (read this first)

Computer science is often viewed as an inherently modern discipline, but its intellectual roots and many of its core technologies reach back many generations. In this class, we will survey and ponder the history and the future of computing.

This upper division undergraduate course will survey and ponder the history and future of computing. This course will focus on the technical context and trajectory of fundamental innovations in the history of computing (e.g., Babbage’s Difference Engine, the telegraph and Morse code, early "networks," information theory, numerical computation, the early Internet, etc.), and on computing’s likely future (Internet of Things, wearables and privacy, P vs. NP, ubiquitous artificial intelligence, self-driving cars, etc.). Students are expected to think critically about both the technical and the social aspects of computing in these contexts, and should be prepared to discuss the grand arc of computational progress, the specific technologies that have fueled it, and the problems, opportunities, and challenges computing poses for society.

Assignments and Readings
The assigned reading material for each week is given in the Weekly Reading List, and guidance for how to receive maximum credit for your weekly assignments is given in the Advice For The Writing Assignments.

Required Texts
The Information: A History, A Theory, A Flood, by Gleick
The Thrilling Adventures of Lovelace and Babbage, by Padua
Logicomix: An epic search for truth, by Doxiadis and Papadimitriou

Week 1: What is computation?
Week 2: Words & writing / the formalization of thought
Week 3: Lovelace & Babbage / the birth of the computer
Week 4: Telegraphs & addresses / the speed of information
Week 5: The logical foundations of computation
Week 6: A theory of information
Week 7: Computing is universal / computing is limited
Week 8: Into the modern era
Week 9: Sexism and computing
Week 10: Bias in the machine / fairness and accountability
Week 11: Spring break
Week 12: Autonomous vehicles / when robots live among us
Week 13: Ubiquitous computing / ubiquitous surveillance
Week 14: Artificial intelligence
Week 15: Artificial intelligence
Week 16: A singularity
Week 17: Final exam