Computer Science & Engineering Timeline

1643 Blaise Pascal creates a machine that can add and subtract (in other words, a basic calculator)
1820 Charles Babbage invents the Difference Engine, a machine which solves polynomial equations of the form ax2+bx+c to an accuracy of six places. Babbage later develops a specification of the Analytical Engine, a stored program machine to perform any type of arithmetic calculation.
1830 Joseph Jacquard invents the Jacquard loom, which weaves intricately patterned cloth based on instructions contained on punched cards. This is the first stored instruction machine actually built.
1854 George Boole publishes Laws of Thought, which establishes a link between logic and algebra.
1890 Herman Hollerith develops machines for sorting punched cards based on patterns formed by the holes, and for counting or tabulating data from these cards. A company that became IBM buys his patents.
1930 Vannevar Bush completes a prototype of the Differential Analyzer, an analog computer made entirely of mechanical parts.
1936 Alonzo Church suggests “[defining] the notion … of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers…”, suggesting a precise meaning for the notion of computable functions. Develops the lambda calculus.
1937 Alan Turing publishes the paper “On Computable Numbers, with an Application to the Entsheidungsproblem“, in which he defines computability
1937 Claude Shannon writes “A Symbolic Analysis of Relay and Switching Circuits”, in which he shows that networks of switches can carry out the operations of symbolic logic.
1940 John Atanasoff and Clifford Berry, one of his graduate students at Iowa State University, complete development of an electromechanical computer.
1945 John von Neumann writes a design document for the EDVAC, the first stored-program computer.
1946 ENIAC, the first electronic computer, is demonstrated at the University of Pennsylvania. (specifications) (press release)
1949 Grace Hopper, while a Navy officer working at the Eckart-Mauchley Computer Corporation, leads a group that develops the first compiler.
1950 Under Jay Forrester‘s direction, William Papian built the first magnetic core memory for the Whirlwind computer.
1953 IBM develops the magnetic disk drive.
1956 John Backus leads the team that develops FORTRAN (FORmula TRANslator): the first high level programming language.
1956 John McCarthy hosts a summer workshop on artificial intelligence.
1958 Digital Equipment Corporation introduces the first minicomputer (PDP-8).
1960 J.C.R. Licklider publishes “Man-Computer Symbiosis,” describing that computers should interact and serve humans. This work sets the tone for time-sharing, personal computers, and graphical user interfaces.
1960 John McCarthy develops the LISP language.
1961 Fernando Corbato demonstrates CTSS, the first time-sharing system.
1962-67 Kristen Nygaard and Ole-Johan Dahl develop Simula, the first object-oriented language.
1964 Thomas Kurtz and John Kemeny (Dartmouth) develop BASIC (Beginner’s All-purpose Symbolic Instruction Code) introduced as an easy-to-learn programming language.
1965 Gordon Moore, then at Fairchild Semiconductor, pens an article in Electronics that expresses “Moore’s Law.”
1965 Ted Nelson publishes a paper that coins the word “hypertext” in working on a editor project to link various documents together nonlinearly.
1967 Alan Kay predicts not only personal computers, but that they would be laptop-sized because of Moore’s Law predictions.
1968 Donald Knuth publishes The Art of Computer Programming
1968 J.C.R. Licklider and Robert Taylor publish “The Computer as a Communications Device“, heralding computer networks and the Web.
1968 Douglas Englebart demonstrates the first GUI at the Fall Joint Computer Conference.
1968 Edsger Dijkstra pens his famous letter entitled “GO TO Statement Considered Harmful”, launching the battle against spaghetti code, and introducing the idea of structured programming.
1969 James Ellis proves the possibility of secure key exchange over an insecure channel and the concept of public/private key cryptography.
1969 The ARPAnet comes to life, inspired by Robert Taylor and directed by Larry Roberts.
1970 Ted Codd publishes “A Relational Model of Data for Large Shared Data Banks.” This paper defines relational databases.
1971 Introduction of the first microprocessor, the Intel 4004, containing an entire CPU on a chip.
1971 Niklaus Wirth introduces Pascal, the first strongly typed programming language. Pascal eventually forms the basis for many subsequent languages such as Borland Pascal, Modula-2, and Modula-3. The work of Wirth, Dijkstra, and others forms the foundation of the modern discipline of software engineering.
1972 Xerox Palo Alto Research Center (PARC) develops the Alto, the first computer with a mouse-windows-icons (GUI) interface, Ethernet, and laser printing. Xerox realizes too late what it has.
1972 Ray Tomlinson develops the first networked-based e-mail program and introduces the @ sign in addresses.
1972 Alan KayAdele Goldberg, and David Robson (PARC) develop SmallTalk-72, the first truly object-oriented language and operating system.
1973 Bob Metcalfe develops the ideas behind Ethernet, the first non-trivial local area network.
1973 English mathematician Clifford Cocks finds a one-way function to implement James Ellis’s 1969 public cryptography scheme, but does not patent the result because it is a British government secret.
1974 Ken Thompson and Dennis Ritchie produce UNIX and develop the C programming language. The source code to UNIX is part of AT&T’s essentially free distribution.
1974 Vint Cerf and Bob Kahn publish “A Protocol for Packet Network Interconnection”, which describes what is now known as TCP/IP.
1974 Don Chamberlin and Ray Boyce publish “SEQUEL: A Structured English Query Language.”
1974 Charles Simonyi and Butler Lampson (PARC) develop Bravo, a mouse-driven program editor.
1975 Ed Roberts sells the Altair kit computer, the first personal computer.
1975 Frederick P. Brooks, Jr. writes The Mythical Man-Month: Essays on Software Engineering, which exposes the fact that software engineering productivity often deteriorates when more people are added to a project.
1977 Ronald RivestAdi Shamir, and Leonard Adleman independently discover and patent Clifford Cocks‘s 1973 method of public key cryptography, which subsequently becomes known as RSA.
1978 Steve Jobs and Steve Wozniak develop the Apple II, the first personal computer with secondary storage capability (floppy disk drive).
1979 Dan Bricklin and Bob Frankston develop VisiCalc, the first spreadsheet package.
1979 Donald Knuth publishes TeX and METAFONT: New Directions in Typesetting, the TeX computer typesetting system.
1979 Carver Mead and Lynn Conway publish Introduction to VLSI Systems, where they propose that CAD be used in the design of computer chips.
1981 IBM debuts the IBM PC, with BASIC and the operating system written by Microsoft.
1983 Bjarne Soustrop introduces C++, bringing objects to C.
1984 Apple introduces the Macintosh, the first personal computer with a graphical user interface. The GUI concept was developed by the Xerox PARC group led by Robert Taylor and Alan Kay.
1984 Richard Stallman founds the GNU Project, dedicated to free software.
1986 X Windows, a platform independent language for expressing graphics over a network, becomes available.
1991 Phil Zimmermann releases the Pretty Good Privacy (PGP) encryption system, an open-source amalgamation of the most effective modern cryptography techniques.
1991 Linus Torvalds completes the first release of Linux, the first open-source operating system.
1992 Tim Berners-Lee interconnects several sites to form the World Wide Web.
1993 Marc Andreessen develops Mosaic, the first web browser with a graphical user interface. He and James Clark soon thereafter found Netscape.
1995 James Gosling leads the effort that produces Java, an interpreted object-oriented language intended to provide a portable software for networked systems.