-
This is a list of well-known computer scientists, people who do work in computer science, in particular researchers and authors.
Some persons notable as programmers are included here because they work in research as well as program. A few of these people pre-date the invention of the digital computer; they are now regarded as computer scientists because their work can be seen as leading to the invention of the computer. Others are mathematicians whose work falls within what would now be called theoretical computer science, such as complexity theory and algorithmic information theory.
- Charles Babbage (1791-1871) – invented first mechanical computer
- Charles Bachman
- Roland Carl Backhouse – mathematics of program construction
- John Backus – FORTRAN, Backus–Naur form
- David A. Bader
- 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
- Peter Bernus
- Dines Bjørner – 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
- Rod Brooks
- Alan Burns – real-time computing
- Michael Butler – Event-B
- Ben Aaron Mwale – computer systems
- Bilal Zaman - COMSATS Link
- 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
- Gregory Chaitin
- 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.
- Richard Gabriel
- Zvi Galil
- Bernard Galler – MAD (programming language)
- Hector Garcia-Molina
- Michael Garey – NP-completeness
- Hugo de Garis
- David Gelernter
- Charles Geschke
- Seymour Ginsburg – formal languages, automata theory, AFL theory, database theory
- Robert L. Glass
- Kurt Gödel – computability – not a computer scientist per se, but his work was invaluable in the field
- Joseph Goguen
- 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
- Tom Gruber
- 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
- William Kahan – numerical analysis
- Robert E. Kahn – TCP/IP
- Avinash Kak – digital image processing
- Daniel Mopati Kapeng – web designing principles
- David Karger
- 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 Kölling – 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 (1928-β) – BASIC programming language, Dartmouth computer professor.
- Ahmed Mohammed Albarwary - VirusOut Lab.
- 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
- Jerre Noe
- Emmy Noether
- 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
- Christos Papadimitriou
- David Parnas – information hiding, modular programming
- Yale Patt – Instruction Level Parallelism, speculative architectures
- David A. Patterson
- Randy Pausch (1960-2008) - Human-Computer interaction, Carnegie Professor, "Last Lecture".
- Judea Pearl – artificial intelligence, Search[disambiguation needed
]
- 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
- David P. Reed
- John C. Reynolds
- Joyce K. Reynolds – Internet
- Adam Riese
- Dennis Ritchie – C (programming language), UNIX
- Ron Rivest – RSA, MD5, RC4
- Colette Rolland – REMORA methodology, meta modelling
- Azriel Rosenfeld
- 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
- Jeff Rulifson
- James Rumbaugh – Unified Modeling Language, Object Management Group
- Juan Manuel Ramirez – Researcher / writer, Open Source Software Technologies
- Siddhant Kotnala – programming Languages, Operating System
- George Sadowsky
- 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
- Jonathan Schaeffer
- 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 Sølvberg – 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 (1953-Ν) – GNU Project
- Ronald Stamper
- 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
- Bernhard Thalheim - Conceptual modeling foundation
- Robert Tarjan – splay tree
- Jaime Teevan
- 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 Gödel Prize
- Linus Torvalds (1969-∞) – 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.
- 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
- James Z. Wang
- Manfred K. Warmuth – computational learning theory
- David H. D. Warren – AI, logic programming, Prolog, the 'W' in WAM
- Kevin Warwick – artificial intelligence
- Jan Weglarz
- 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
[edit] See also
[edit] References
[edit] External links