Comp 280: History and Philosophy of Computing, Winter 2009

Overview

This is an overview of the topics covered in this course. We'll spend about one week for each topic.

Part I.   The Prehistory of Computing

1.   Ancient mathematics

  • Babylonian mathematics: Ancient origins of mathematics. Base-60 number system. Greeks and Romans: The notion of proof. Computing with Roman numerals.
2.   Ancient Computing Machines: The Abacus and the Antikythera Mechanism

3.   More Numbers and Leibniz's Dream

  • Zero. Negative numbers. Fibonacci (Liber Abaci, 1202). Leibniz's Dream: Binary number system. Characteristica universalis and calculus ratiocinator.
  • Readings: Davis, Ch. 1

4.   19th Century Developments

  • Boolean Algebra. Babbage's Analytic Engine.
  • Readings: Davis, Ch. 2
Part II.   Mathematical Foundations of Computing

5.   Set Theory and Symbolic Logic

  • Cantor's set theory; Frege's logic. First-order logic.
  • Readings: Davis, Ch. 3-4

6.   Limitations

  • Hilbert's Programme. Gödel's Theorems.
  • Readings: Davis, Ch. 5-6

7.   Models of Computation

  • Turing Machines. Halting Problem. Universal computer.
  • Readings: Davis, Ch. 7
Part III.   The Age of Modern Computers

8.   The First Universal Computers

  • John von Neumann. EDVAC. ENIAC. ACE.
  • Readings: Davis, Ch. 8

9.   Commercial Computing 1945-1964

  • Readings: Ceruzzi, Ch. 1-2

10.   Chips and PCs

  • Readings: Ceruzzi, Ch. 4-7

11.   The Early History of Software

  • FORTRAN. COBOL. ALGOL.
  • Readings: Ceruzzi, Ch. 3

12.   Programming Languages

  • Programming paradigms. Lisp. PASCAL. C. Java

13.   Computers and Minds

  • Turing test. Searle's Chinese Room. Artificial intelligence.

14.   The Internet

  • Readings: Ceruzzi, Ch. 8-10

15.   Computers now and tororrow

  • iPod, XBox, etc.; quantum computing

 


Home Syllabus Overview Schedule Assignments Papers Movies Links (c) Dirk Schlimm   1/03/09