# List of pioneers in computer science

This article presents a list of individuals who helped in the creation, development and imagining of what computers and electronics could do.

## The pioneers

Person Achievement Ach. Date
al-Khwārizmī[1][2][3] The term "algorithm" is derived from the algorism, the technique of performing arithmetic with Hindu-Arabic numerals developed by al-Khwarizmi. Both "algorithm" and "algorism" are derived from the Latinized forms of al-Khwarizmi's name, Algoritmi and Algorismi, respectively. His Compendious Book on Calculation by Completion and Balancing (Arabic: الكتاب المختصر في حساب الجبر والمقابلة al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wal-muqābala) is a mathematical book written approximately 830 CE. The word Algebra is also derived from the title of his book and it is believed to be the first book on the subject. The notion of zero is found for the first time in this book. However, it is believed he had learned the notion of zero from Indians through his travels to India. With zero, he was able to invent the systematic Indo-Arabic number (decimal) system. The word algorithm was given in Europe to a method he called "Attarigolkharazmi" (Akharazmi's Method) for taking square root of whole numbers in decimal system. The method is based on first identity ((a+b)^2 = a^2 + b^2, where a= 10^n, n>1). The word "method" was dropped in time and the word algorithm referred to this method of taking square root. As more elaborate ways of doing complex things, in a mechanized way, through mathematical reasoning were discovered/invented, they were all called algorithms. Certain algorithms, such as deriving the greatest common divisor existed way before Alkharazmi (Greek time). However, Europeans were so impressed by Kharazmi's method that his name replaced the word "method". 0830~
John Atanasoff Built the first electronic digital computer, the Atanasoff–Berry Computer, though it was neither programmable nor Turing-complete. 1939
Charles Babbage Originated the concept of a programmable general-purpose computer. Designed the Analytical Engine and built a prototype for a less powerful mechanical calculator. 1822
1837
John Backus Invented FORTRAN (Formula Translation), the first practical high-level programming language, and he formulated the Backus–Naur form that described the formal language syntax. 1954
1963
Jean Bartik One of the first computer programmers, on ENIAC (1946), an early Vacuum tube computer back when "programming" involved using cables, dials, and switches to physically rewire the machine. Worked with John Mauchly toward BINAC (1949), EDVAC (1949), UNIVAC (1951) to develop early "Stored program" computers. 1946
Tim Berners-Lee Invented worldwide web. With Robert Cailliau, sent first HTTP communication between client and server. 1989
1990
George Boole Formalized Boolean algebra, the basis for digital logic and computer science. 1847
1854
Per Brinch Hansen Developed the RC 4000 multiprogramming system which introduced the concept of an operating system kernel and the separation of policy and mechanism, effectively the first microkernel architecture.[4] Co-developed the monitor with Tony Hoare, and created the first monitor implementation.[5] Implemented the first form of remote procedure call in the RC 4000,[4] and was first to propose remote procedure calls as a structuring concept for distributed computing.[6] 1969

1973

1975

1978

Nikolay Brusentsov Built ternary computer Setun. 1958
Vannevar Bush Analogue computing pioneer. Originator of the Memex concept, which led to the development of Hypertext. 1930
David Caminer With John Pinkerton, developed the LEO computer the first business computer, for J. Lyons and Co 1951
Vint Cerf With Bob Kahn, designed the Transmission Control Protocol and Internet Protocol (TCP/IP), the primary data communication protocols of the Internet and other computer networks. 1978
Noam Chomsky Made contributions to computer science with his work in Linguistics. He developed Chomsky hierarchy, a discovery which has directly impacted Programming language theory and other branches of computer science. 1956
Alonzo Church Founded contributions to theoretical computer science, specifically for the development of the lambda calculus and the discovery of the undecidability problem within it. 1936
Wesley A. Clark Designed LINC, the first functional computer scaled down and priced for the individual user. Put in service in 1963, many of its features are seen as prototypes of what were to be essential elements of personal computers. 1962
Edmund M. Clarke Developed model checking and formal verification of software and hardware together with E. Allen Emerson. 1981
Edgar F. Codd Proposed and formalized the relational model of data management, the theoretical basis of relational databases. 1970
Stephen Cook Formalized the notion of NP-completeness, inspiring a great deal of research in computational complexity theory. 1971
James Cooley With John W. Tukey, created the Fast Fourier Transform. 1965
Ole-Johan Dahl With Kristen Nygaard, invented the proto-object oriented language SIMULA. 1962
Edsger Dijkstra Made advances in algorithms, pioneered and coined the term structured programming, invented the semaphore, and famously suggested that the GOTO statement should be considered harmful. 1968
J. Presper Eckert With John Mauchly, designed and built the ENIAC, the first modern (all electronic, Turing-complete) computer, and the UNIVAC I, the first commercially available computer. 1943
1951
E. Allen Emerson Developed model checking and formal verification of software and hardware together with Edmund M. Clarke. 1981
Douglas Engelbart Best known for inventing the computer mouse (in a joint effort with Bill English); as a pioneer of human-computer interaction whose Augment team developed hypertext, networked computers, and precursors to GUIs. 1963
Tommy Flowers Designed and built the Mark 1 and the ten improved Mark 2 Colossus computers, the world's first programmable, digital, electronic, computing devices. 1943
Gottlob Frege Developed first-order predicate calculus, which was a crucial precursor requirement to developing computation theory. 1879
Seymour Ginsburg Proved "don't-care" circuit minimization does not necessarily yield optimal results, proved that the ALGOL programming language is context-free (thus linking formal language theory to the problem of compiler writing), and invented AFL Theory. 1958
1961
1967
Kurt Gödel Proved that Peano axiomatized arithmetic could not be both logically consistent and complete in first-order predicate calculus. Church, Kleene, and Turing developed the foundations of computation theory based on corollaries to Gödel's work. 1931
Lois Haibt Was a member of the ten person team that invented Fortran and among the first women to play a crucial role in the development of computer science. 1954
Margaret Hamilton Credited with coining the phrase "Software engineering" and developed the concepts of asynchronous software, priority scheduling, end-to-end testing, and human-in-the-loop decision capability, such as priority displays which then became the foundation for ultra reliable software design. 1971
C.A.R. Hoare Developed the formal language Communicating Sequential Processes (CSP) and Quicksort. 1960
1978
Herman Hollerith Widely regarded as the father of modern machine data processing. His invention of the punched card evaluating machine marks the beginning of the era of automatic data processing systems. 1889
Grace Hopper Pioneered work on the necessity for high-level programming languages, which she termed automatic programming, and wrote the A-O compiler, which heavily influenced the COBOL language. 1952
Cuthbert Hurd Helped the International Business Machines Corporation develop its first general-purpose computer, the IBM 701. 1952
Kenneth E. Iverson Assisted in establishing the first graduate course in computer science (at Harvard) and taught that course; invented the APL programming language and made contribution to interactive computing. 1954; 1962
Joseph Marie Jacquard Built and demonstrated the Jacquard loom, a programmable mechanized loom controlled by punch cards. 1801
Maurice Karnaugh Inventor of the Karnaugh map, used for logic function minimization. 1953
1953
Jacek Karpinski Developed the first differential analyzer that used transistors, and developed one of the first machine learning algorithms for character and image recognition. Also was the inventor of one of the first minicomputers, the K-202. 1973
Alan Kay Pioneered many of the ideas at the root of object-oriented programming languages, led the team that developed Smalltalk, and made fundamental contributions to personal computing. 1970~
Stephen Cole Kleene Pioneered work with Alonzo Church on the Lambda Calculus that first laid down the foundations of computation theory. 1936
Donald Knuth Wrote The Art of Computer Programming and created TeX. Coined the term "analysis of algorithms" and made major contributions to that field, including popularizing Big O notation. 1968
1989
Leslie Lamport Formulated algorithms to solve many fundamental problems in distributed systems (e.g. the bakery algorithm).
Developed the concept of a logical clock, enabling synchronization between distributed entities based on the events through which they communicate. Created LaTeX.
1974
1978
Sergei Alekseyevich Lebedev Independently designed the first electronic computer in the Soviet Union, MESM, in Kiev, Ukraine. 1951
Gottfried Leibniz Made advances in symbolic logic, such as the Calculus ratiocinator, that were heavily influential on Gottlob Frege. Made developments in first-order predicate calculus that were crucial for the theoretical foundations of computer science. 1670~
J. C. R. Licklider Began the investigation of human-computer interaction, leading to many advances in computer interfaces as well as in cybernetics and artificial intelligence. 1960
Ramon Llull Designed multiple symbolic representations machines, and pioneered notions of symbolic representation and manipulation to produce knowledge—both of which were major influences on Leibniz. 1300~
Ada Lovelace Began the study of scientific computation, analyzing Babbage's work in her Sketch of the Analytical Engine, and was the namesake for the Ada programming language. 1843
John Mauchly With J. Presper Eckert, designed and built the ENIAC, the first modern (all electronic, Turing-complete) computer, and the UNIVAC I, the first commercially available computer. Also worked on BINAC(1949), EDVAC(1949), UNIVAC(1951) with Grace Hopper and Jean Bartik, to develop early "Stored program" computers. 1943
1951
John McCarthy Invented LISP, a functional programming language. 1955
Marvin Minsky Co-founder of Artificial Intelligence Lab at Massachusetts Institute of Technology, author of several texts on AI and philosophy. 1963
Peter Naur Edited the ALGOL 60 Revised Report, introducing Backus-Naur form 1960
Max Newman Instigated the production of the Colossus computers at Bletchley Park. After the war he established the Computing Machine Laboratory at the University of Manchester where the world's first Stored-program computer, the Manchester Small-Scale Experimental Machine was invented. 1943
John von Neumann Formulated the von Neumann architecture upon which most modern computers are based. 1945
Kristen Nygaard With Ole-Johan Dahl, invented the proto-object oriented language SIMULA. 1962
Blaise Pascal Invented the mechanical calculator. 1642
Emil L. Post Developed the Post machine as a model of computation, independently of Turing. Known also for developing truth tables, the Post correspondence problem used in recursion theory as well as proving what is known as Post's theorem. 1936
Dennis Ritchie With Ken Thompson, pioneered the C programming language and the Unix computer operating system at Bell Labs. 1967
Saul Rosen Designed the software of the first transistor-based computer. Also influenced the ALGOL programming language. 1958–1960
Bertrand Russell Made contributions to computer science with his work on Mathematical logic (example: Truth function). Introduced the notion of Type theory. He also introduced Type system (along with Alfred North Whitehead) in his work, Principia Mathematica. 1910
Gerard Salton A pioneer of automatic information retrieval, who proposed the vector space model and the inverted index. 1975
Claude Shannon Founded information theory and practical digital circuit design. 1937
1948
Herbert A. Simon A political scientist and economist who pioneered artificial intelligence. Co-creator of the Logic Theory Machine and the General Problem Solver programs. 1956
1957
Ivan Sutherland Author of Sketchpad, the ancestor of modern computer-aided drafting (CAD) programs and one of the early examples of object-oriented programming. 1963
John W. Tukey With James Cooley, created the Fast Fourier Transform. 1965
Alan Turing Made several founding contributions to computer science, including the Turing machine computational model, the conceiving of the stored program concept and the designing of the high-speed ACE design. Widely considered as the father of Computer Science and Artificial Intelligence. 1936
Willis Ware Co-designer of JOHNNIAC. Chaired committee that developed the Code of Fair Information Practice and led to the Privacy Act of 1974. Vice-chair of the Privacy Protection Study Commission. 1955
1960s
1974
Adriaan van Wijngaarden Developer of the W-grammar first used in the definition of ALGOL 68 1968
Maurice Wilkes Built the first practical stored program computer (EDSAC) to be completed and for being credited with the ideas of several high-level programming language constructs. 1949
Sophie Wilson Wrote BBC Basic programming language. Also designed the ARM architecture and Firepath processors 1981
1985
Niklaus Wirth Designed the Pascal, Modula-2 and Oberon programming languages. 1970
1978
Konrad Zuse Built the first digital freely programmable computer, the Z1.
Built the first functional tape-stored program-controlled computer, the Z3. The Z3 was proven to be Turing-complete in 1998.
Produced the world's first commercial computer, the Z4.
Designed the first high-level programming language, Plankalkül.
1938
1941
1942–1945
1943–1945

~ Item marks with a tilde are circa dates