You are on page 1of 11

List of computer scientists

Wil van der Aalst business process management, process mining, Petri nets Hal Abelson intersection of computing and teaching Serge Abiteboul database theory Samson Abramsky game semantics Leonard Adleman RSA, DNA computing Manindra Agrawal polynomial-time primality testing Luis von Ahn human-based computation Alfred Aho compilers book, the 'a' in AWK Amos Nuwasiima PHP Programming book Frances E. Allen compiler optimization Alexander Scaranti Image Processing, Image Retrieval Gene Amdahl supercomputer developer, founder of Amdahl Corporation A. Annerl multidimensional processing, computational complexity theory Andrew Appel compilers text books Sanjeev Arora PCP theorem A. E. Hugo - parallel computing on heterogeneous multicore architectures John Vincent Atanasoff computer pioneer Ali Aydar - computer scientist and CEO of Sporcle

Charles Babbage (1791-1871) invented first mechanical computer Roland Carl Backhouse mathematics of program construction John Backus FORTRAN, BackusNaur form Anthony James Barr SAS System Jean Bartik (1924-2011) - One of first computer programmers, on ENIAC(1946), one of first Vacuum_tube computers, 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. Rudolf Bayer B-tree James C. Beatty, Jr. compiler optimization,[1] super-computing[2] Gordon Bell (1931- ) - computer designer DEC VAX, author: Computer Structures Steven M. Bellovin network security Tim Berners-Lee World Wide Web

Dines Bjrner Vienna Development Method (VDM), RAISE Gerrit Blaauw one of the principal designers of the IBM System 360 line of computers Manuel Blum cryptography Barry Boehm software engineering economics, spiral development Grady Booch Unified Modeling Language, Object Management Group George Boole Boolean logic Bert Bos Cascading Style Sheets Jonathan Bowen Z notation, formal methods Stephen R. Bourne Bourne shell, portable ALGOL 68C compiler Robert S. Boyer string searching, ACL2 theorem prover Julian C. Bradfield logic and concurrency, Expressivity of the mu-calculus Jack E. Bresenham early computer graphics contributions including Bresenham's algorithm David J. Brown Unified Memory Architecture, Binary Compatibility Per Brinch Hansen (surname "Brinch Hansen") concurrency Sjaak Brinkkemper methodology of product software development Fred Brooks System 360, OS/360, The Mythical Man-Month, No Silver Bullet Alan Burns real-time computing Michael Butler Event-B Ben Aaron Mwale computer systems

Martin Campbell-Kelly history of computing Luca Cardelli objects Claire Cardie natural language processing, automatic summarization, machine learning Edwin Catmull computer graphics Vinton Cerf Internet, TCP/IP Zhou Chaochen duration calculus Xiuzhen (Susan) Cheng computer networks Alonzo Church mathematics of combinators, lambda calculus Gabriel Ciobanu semantics, process calculi, membrane computing Edmund M. Clarke model checking John Cocke RISC Edgar F. Codd (1923-2003) formulated the database relational model Simon Colton Computational Creativity Paul Justin Compton Ripple Down Rules Gordon Cormack co-inventor of dynamic Markov compression Stephen Cook NP-completeness James Cooley Fast Fourier transform (FFT) Fernando J. Corbat Compatible Time-Sharing System (CTSS), Multics Patrick Cousot abstract interpretation Seymour Cray Cray Research, supercomputer Nello Cristianini Machine learning, pattern analysis, artificial intelligence Orxan Gadirli - Qafqaz University, Computer Engineering.

Ole-Johan Dahl Simula Andries van Dam computer graphics, hypertext Christopher J. Date proponent of database relational model Erik Demaine computational origami Dorothy E. Denning computer security Peter J. Denning identified the use of an operating system's working set and balance set Alexander Dewdney Vinod Dham P5 Pentium processor Jan Dietz - information systems theory and "Design & Engineering Methodology for Organizations" Whitfield Diffie Public key cryptography, DiffieHellman key exchange, Edsger Dijkstra algorithms, Goto considered harmful, semaphore (programming) Jack Dongarra linear algebra high performance computing Marco Dorigo ant colony optimization Paul Dourish human computer interaction Charles Stark Draper - designer: Apollo Guidance Computer, "Father of inertial navigation", MIT Professor. Susan Dumais Information Retrieval Adam Dunkels Protothreads Alan Dix literally wrote the book on HCI Humancomputer interaction

Wim Ebbinkhuijsen COBOL John Presper Eckert ENIAC Philip-Emeagwali supercomputing E. Allen Emerson model checking Douglas Engelbart tiled windows, hypertext, computer mouse Don Estridge (1937-1985) Led development of original IBM Personal Computer (PC), known as "father of the IBM PC". Christopher Riche Evans David C. Evans computer graphics

Edward Feigenbaum intelligence Edward Felten computer security Tommy Flowers Colossus computer Robert Floyd NP-completeness Daniel P. Friedman

Bernard Galler MAD (programming language) Hector Garcia-Molina Michael Garey NP-completeness Seymour Ginsburg formal languages, automata theory, AFL theory, database theory Kurt Gdel computability not a computer scientist per se, but his work was invaluable in the field Adele Goldberg Smalltalk Ian Goldberg cryptographer, off-the-record messaging Oded Goldreich cryptography, computational complexity theory Shafi Goldwasser cryptography, computational complexity theory Gene Golub matrix (math) computation Martin Charles Golumbic algorithmic graph theory James Gosling NeWS, Java (programming language) Paul Graham Viaweb, On Lisp, Arc Susan L. Graham compilers, programming environments Jim Gray database Sheila Greibach Greibach normal form, AFL theory Ralph Griswold SNOBOL Bill Gropp Message Passing Interface, PETSc Barbara J. Grosz Natural Language Processing, Planning, Centering Theory Ramanathan V. Guha RDF, Netscape, RSS (file format), Epinions Neil J. Gunther computer performance analysis, capacity planning Peter G. Gyarmati adaptivity in operating systems and networking

Philipp Matthus Hahn mechanical calculator Eldon C. Hall Apollo Guidance Computer Richard Hamming Hamming code, founder of the Association for Computing Machinery Jiawei Han Data mining Juris Hartmanis computational complexity theory Johan Hstad computational complexity theory Les Hatton software failure and vulnerabilities He Jifeng provably correct systems Martin Hellman encryption Gernot Heiser Development of L4 and founder of OK Labs James Hendler Semantic Web John L. Hennessy computer architecture Danny Hillis Connection Machine Julia B. Hirschberg Computational Linguistics C. A. R. Hoare Logic, rigor, Communicating sequential processes (CSP) John Henry Holland genetic algorithms

Herman Hollerith invented recording of data on a machine readable medium, using punched cards John Hopcroft compilers Admiral Grace Hopper (1906-1992) develop early compilers: FLOW-Matic, COBOL. Also worked on UNIVAC, gave speeches on computer history, where when gave out nano-seconds. Eric Horvitz - Artificial Intelligence David A. Huffman (1925-1999) Huffman coding, used in data compression.

Jean Ichbiah Ada (programming language) Dan Ingalls - Bit_blit, Lively_Kernel Kenneth E. Iverson APL (programming language), J (programming language)

Ivar Jacobson Unified Modeling Language, Object Management Group Cliff Jones Vienna Development Method (VDM) Bill Joy (1954-) Sun Microsystems, BSD UNIX, vi, csh

William Kahan numerical analysis Robert E. Kahn TCP/IP Avinash Kak digital image processing Daniel Mopati Kapeng web designing principles Alan Kay Dynabook, Smalltalk, overlapping windows Richard Karp NP-completeness Narendra Karmarkar Karmarkar's algorithm Marek Karpinski NP optimization problems John George Kemeny BASIC Ken Kennedy compiling for parallel and vector machines Brian Kernighan (1942- ) Unix, the 'k' in AWK Carl Kesselman grid computing Gregor Kiczales CLOS, reflection (computer science), aspect-oriented programming Stephen Cole Kleene Kleene closure, recursion theory Leonard Kleinrock ARPANET, queueing theory, packet switching, hierarchical routing Donald Knuth The Art of Computer Programming, MIX/MMIX, TeX, literate programming Andrew Koenig C++ Michael Klling BlueJ Janet L. Kolodner case-based reasoning David Korn Korn shell Kees Koster ALGOL 68

John Koza genetic programming Andrey Nikolaevich Kolmogorov algorithmic complexity theory Robert Kowalski logic programming John Krogstie SEQUAL framework Joseph Kruskal Kruskal's algorithm Thomas E. Kurtz BASIC programming language, Dartmouth computer professor.

Leslie Lamport algorithms for distributed computing, LaTeX. Manny M Lehman Laws of Software Evolution Charles E. Leiserson cache-oblivious algorithms, provably good work-stealing, coauthor of Introduction to Algorithms Douglas Lenat artificial intelligence, Cyc Rasmus Lerdorf PHP Leonid Levin computational complexity theory John Lions Lions Book Richard J. Lipton computational complexity theory Barbara Liskov programming languages Diane R. Litman planning, natural language processing Ada Lovelace first programmer

Zohar Manna fuzzy logic Max Levchin Gausebeck-Lechin Test and PayPal James Martin information engineering Robert C. Martin (Uncle Bob) - Software craftsmanship John Mashey Yuri Matiyasevich solving Hilbert's tenth problem Yukihiro Matsumoto Ruby (programming language) John Mauchly (1907-1980) - Designed ENIAC. First general purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the first commercial computer. Worked with Jean Bartik on ENIAC, and Grace Murray Hopper on UNIVAC. John McCarthy Lisp (programming language), artificial intelligence Douglas McIlroy pipes Kathleen R. McKeown Natural Language Processing Automatic Summarization Chris McKinstry artificial intelligence, Mindpixel Marshall Kirk McKusick BSD, Berkeley Fast File System Lambert Meertens ALGOL 68, ABC (programming language) Bertrand Meyer Eiffel (programming language) Silvio Micali cryptography Robin Milner ML (programming language) Marvin Minsky artificial intelligence, perceptrons, Society of Mind Paul Mockapetris Domain Name System (DNS)

Cleve Moler numerical analysis, MATLAB Edward F. Moore Moore machine Gordon Moore Moore's law J Strother Moore string searching, ACL2 theorem prover Hans Moravec robotics Robert Tappan Morris Morris worm Joel Moses Macsyma Stephen Muggleton Debajyoti Mukhopadhyay interoperability, web mining

Mihai Nadin anticipation research Makoto Nagao machine translation, natural language processing, digital library Frieder Nake pioneered computer arts Peter Naur BNF, ALGOL 60 Roger Needham James G. Nell GERAM Bernard de Neumann massively parallel autonomous cellular processor, software engineering research John von Neumann (1953-1957) early computers, von Neumann machine, set theory, functional analysis, mathematics pioneer, linear programming, quantum mechanics. Allen Newell artificial intelligence, Computer Structures Max Newman Colossus, MADM Andrew Ng artificial intelligence, machine learning, robotics Nils Nilsson artificial intelligence G.M. Nijssen NIAM Peter Nordin artificial intelligence, genetic programming, evolutionary robotics Donald Norman user interfaces, usability George Novacky Assistant Department Chair and Senior Lecturer in Computer Science, Assistant Dean of CAS for Undergraduate Studies at University of Pittsburgh Kristen Nygaard Simula

T. William Olle Ferranti Mercury Mark Overmars game programming

David Parnas information hiding, modular programming Yale Patt Instruction Level Parallelism, speculative architectures

Randy Pausch (1960-2008) - Human-Computer interaction, Carnegie Professor, "Last Lecture". Judea Pearl artificial intelligence, Search Alan Perlis Programming Pearls Radia Perlman spanning tree protocol Simon Peyton Jones functional programming Gordon Plotkin Amir Pnueli temporal logic Willem van der Poel computer graphics, robotics, geographic information systems, imaging, multimedia, virtual environments, games Martha Pollack intentions in planning Emil Post mathematics Jon Postel Internet Franco Preparata William H. Press - numerical algorithms

Michael O. Rabin nondeterministic machines Dragomir R. Radev Natural Language Processing, Information Retrieval T. V. Raman accessibility, Emacspeak, etc. Brian Randell dependability Yoav Raz databases: commitment ordering (or commit ordering) for guaranteeing distributed and global serializability Raj Reddy AI Joyce K. Reynolds Internet Dennis Ritchie C (programming language), UNIX Ron Rivest RSA, MD5, RC4 Colette Rolland REMORA methodology, meta modelling Douglas T. Ross Structured Analysis and Design Technique Guido van Rossum Python (programming language) Winston W. Royce Waterfall model Rudy Rucker mathematician, Writer, Educator Steven Rudich complexity theory, cryptography James Rumbaugh Unified Modeling Language, Object Management Group Juan Manuel Ramirez Researcher / writer, Open Source Software Technologies

Siddhant Kotnala programming Languages, Operating System Gerard Salton information retrieval Jean E. Sammet programming languages Claude Sammut Artificial Intelligence researcher Carl Sassenrath operating systems, programming languages, Amiga, REBOL

Walter Savitch - discovery of complexity class NL, Savitch's theorem, natural language processing, mathematical linguistics Wilhelm Schickard one of first calculating machines Bruce Schneier cryptography, security Fred B. Schneider concurrent and distributed computing Michael I. Schwartzbach computer scientist at Aarhus University Dana Scott domain theory Michael L. Scott programming languages, algorithms, distributed computing Ravi Sethi compilers, 2nd Dragon Book Adi Shamir RSA, cryptanalysis Claude Shannon information theory David E. Shaw computational finance, computational biochemistry, parallel architectures Scott Shenker networking Ben Shneiderman human-computer interaction, information visualization Edward H. Shortliffe MYCIN (Medical diagnostoc expert system) Joseph Sifakis model checking Herbert Simon artificial intelligence Daniel Sleator splay tree, amortized analysis Arne Slvberg information modelling Brian Cantwell Smith reflection (computer science), 3lisp Karen Sparck-Jones Information Retrieval, Natural Language Processing Steven Spewak Enterprise Architecture Planning Robert Sproull Maciej Stachowiak GNOME, Safari, WebKit Richard Stallman GNU Project Richard Stearns computational complexity theory Guy L. Steele, Jr. Scheme, Common Lisp Thomas Sterling Creator of Beowulf clusters W. Richard Stevens (1951-1999)Renowned author of "TCP/IP Illustrated", "Advanced Programming in the Unix Environment" and other books. Larry Stockmeyer computational complexity, distributed computing Michael Stonebraker relational database practice and theory Christopher Strachey denotational semantics Bjarne Stroustrup C++ Madhu Sudan computational complexity theory, coding theory Gerald Jay Sussman Scheme Bert Sutherland graphics, Internet Ivan Sutherland graphics Mario Szegedy complexity theory, quantum computing

Andrew S. Tanenbaum operating systems, MINIX Robert Tarjan splay tree Shang-Hua Teng analysis of algorithms

Larry Tesler human-computer interaction, graphical user interface, Apple Macintosh Avie Tevanian Mach kernel team, NeXT, Mac OS X Bruce H. Thomas wearable computers, augmented reality Ken Thompson Unix Walter F. Tichy RCS Seinosuke Toda computation complexity, recipient of 1998 Gdel Prize Linus Torvalds Linux kernel, Git Godfried Toussaint computational geometry computational music therory Joseph F Traub computational complexity of scientific problems John Tukey FFT Murray Turoff computer-mediated communication Alan Turing (1912-1954) British computing pioneer, Turing Machine, algorithms, cryptology, computer architecture.

Jeffrey D. Ullman compilers, databases, complexity theory

Leslie Valiant computational complexity theory, computational learning theory Srinidhi Varadarajan System X: VirginiaTech's Power Mac G5 Supercluster Franois Vernadat enterprise modeling Richard Veryard enterprise modeling Patrick Valduriez distributed data management

Philip Wadler functional programming David Wagner security, cryptography Marilyn A. Walker natural language processing, spoken dialogue systems, intelligent virtual agents Larry Wall (1954-) inventor of Perl programming language, study of language structure Manfred K. Warmuth computational learning theory David H. D. Warren AI, logic programming, Prolog, the 'W' in WAM Kevin Warwick artificial intelligence Jie Wu computer networks Peter Wegner object-oriented programming, interaction (computer science) Peter J. Weinberger programming language design, the 'w' in AWK Mark Weiser ubiquitous computing Joseph Weizenbaum artificial intelligence, ELIZA Steve Whittaker Human Computer Interaction, Computer Support for Cooperative Work, Social Media Jennifer Widom nontraditional data management Janyce Wiebe subjectivity, natural language processing, automatic summarization,

Gio Wiederhold database management systems Adriaan van Wijngaarden Dutch pioneer; ARRA, ALGOL Mary Allen Wilkes LINC developer, assembler-linker designer Maurice Vincent Wilkes microprogramming, EDSAC Yorick Wilks computational linguistics, artificial intelligence James H. Wilkinson numerical analysis Sophie Wilson ARM architecture Shmuel Winograd Coppersmith-Winograd algorithm Terry Winograd artificial intelligence, SHRDLU Glynn Winskel concurrenty theory Event structures Niklaus Wirth Pascal, Modula, Oberon (programming language) Dennis E. Wisnosky Integrated Computer-Aided Manufacturing (ICAM), IDEF Stephen Wolfram Mathematica William Wulf compilers

Edward Yourdon Structured Systems Analysis and Design Method

Lotfi Zadeh fuzzy logic Arif Zaman Pseudo-random number generator Albert Zomaya Australian pioneer of scheduling in parallel and distributed systems Konrad Zuse German pioneer of hardware and software Mark Zuckerberg Co-founder and CEO of Facebook

You might also like