Computer Science and Engineering
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 Kay, Adele 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 Rivest, Adi 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. |