From Wikipedia, the free encyclopedia
This is a list of 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 .
A
Atta ur Rehman Khan –
Mobile Cloud Computing ,
Cybersecurity ,
IoT
Wil van der Aalst –
business process management ,
process mining ,
Petri nets
Scott Aaronson –
quantum computing and
complexity theory
Rediet Abebe –
algorithms ,
artificial intelligence
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
Frances E. Allen –
compiler optimization
Gene Amdahl –
supercomputer developer,
Amdahl Corporation founder
David P. Anderson – volunteer computing
Lisa Anthony –
natural user interfaces
Andrew Appel – compiler of text books
Cecilia R. Aragon – invented
treap , human-centered data science
Bruce Arden – programming language compilers (GAT,
Michigan Algorithm Decoder (MAD)), virtual memory architecture,
Michigan Terminal System (MTS)
Angie Jones – software engineer and automation architect. Holds 26 patented inventions in the United States of America and Japan
Sanjeev Arora –
PCP theorem
Winifred "Tim" Alice Asprey – established the computer science curriculum at
Vassar College
John Vincent Atanasoff – computer pioneer, creator of Atanasoff Berry Computer (ABC)
Shakuntala Atre – database theory
Lennart Augustsson – languages (Lazy
ML , Cayenne), compilers (HBC
Haskell , parallel Haskell front end,
Bluespec
SystemVerilog early),
LPMud pioneer,
NetBSD
device drivers
B
Charles Babbage (1791–1871) – invented first mechanical computer called the supreme mathematician
Charles Bachman – American computer scientist, known for
Integrated Data Store
Roland Carl Backhouse – mathematics of
computer program construction,
algorithmic problem solving,
ALGOL
John Backus –
FORTRAN ,
Backus–Naur form , first complete compiler
David F. Bacon – programming languages, garbage collection
David Bader
Victor Bahl
Anthony James Barr –
SAS System
Jean Bartik (1924–2011) – one of the first
computer programmers , on
ENIAC (1946), one of the 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
Andrew Barto
Friedrich L. Bauer –
Stack (data structure) , Sequential Formula Translation ,
ALGOL ,
software engineering ,
Bauer–Fike theorem
Rudolf Bayer –
B-tree
Gordon Bell (born 1934) – computer designer
DEC
VAX , author: Computer Structures
Steven M. Bellovin –
network security
Cecilia Berdichevsky (1925–2010) – pioneering Argentinian computer scientist
Tim Berners-Lee –
World Wide Web
Daniel J. Bernstein –
qmail , software as protected speech
Peter Bernus
Jeff Bezos – founder of
Amazon
Abhay Bhushan
Dines Bjørner –
Vienna Development Method (VDM),
RAISE
Gerrit Blaauw – one of the principal designers of the IBM
System 360 line of computers
Sue Black
David Blei
Dorothy Blum –
National Security Agency
Lenore Blum –
complexity
Manuel Blum –
cryptography
Barry Boehm – software engineering economics, spiral development
Corrado Böhm – author of the structured program theorem
Kurt Bollacker
Jeff Bonwick – invented
slab allocation and
ZFS
Grady Booch –
Unified Modeling Language ,
Object Management Group
George Boole –
Boolean logic
Andrew Booth – developed the first
rotating drum storage device
Kathleen Booth – developed the first
assembly language
Anita Borg (1949–2003) – American computer scientist, founder of
Anita Borg Institute for Women and Technology
Bert Bos –
Cascading Style Sheets
Mikhail Botvinnik – World Chess Champion, computer scientist and electrical engineer, pioneered early
expert system AI and
computer chess
Jonathan Bowen –
Z notation ,
formal methods
Stephen R. Bourne –
Bourne shell , portable
ALGOL 68C compiler
Harry Bouwman (born 1953) – Dutch Information systems researcher, and Professor at the Åbo Akademi University
Robert S. Boyer – string searching,
ACL2 theorem prover
Karlheinz Brandenburg – Main
mp3 contributor
Gilles Brassard –
BB84 protocol and
quantum cryptography pioneer
Lawrence M. Breed – implementation of Iverson Notation (APL), co-developed
APL \360,
Scientific Time Sharing Corporation cofounder
Jack E. Bresenham – early computer-graphics contributions, including
Bresenham's algorithm
Sergey Brin – co-founder of
Google
David J. Brown –
unified memory architecture ,
binary compatibility
Per Brinch Hansen (surname "Brinch Hansen") –
RC 4000 multiprogramming system ,
operating system kernels ,
microkernels ,
monitors ,
concurrent programming ,
Concurrent Pascal ,
distributed computing & processes,
parallel computing
Sjaak Brinkkemper – methodology of product software development
Fred Brooks –
System 360 ,
OS/360 ,
The Mythical Man-Month ,
No Silver Bullet
Rod Brooks
Margaret Burnett –
visual programming languages ,
end-user software engineering , and
gender-inclusive software
Rod Burstall – languages
COWSEL (renamed POP-1),
POP-2 ,
NPL ,
Hope ; ACM SIGPLAN 2009 PL Achievement Award
Michael Butler –
Event-B
C
Pino Caballero Gil –
cryptography
Tracy Camp –
wireless computing
Martin Campbell-Kelly –
history of computing
Rosemary Candlin
Rod Canion – cofounder of
Compaq Computer Corporation
Bryan Cantrill – invented
DTrace
Luca Cardelli
John Carmack – codeveloped
Doom
Michael Caspersen -
programming methodology , education in
OO programming , leadership in developing
informatics education
Edwin Catmull –
computer graphics
Vint Cerf – Internet,
TCP/IP
Gregory Chaitin
Robert Cailliau – Belgian computer scientist
Zhou Chaochen –
duration calculus
Peter Chen –
entity-relationship model ,
data modeling ,
conceptual model
Leonardo Chiariglione – founder of
MPEG
Tracy Chou – computer scientist and activist
Alonzo Church – mathematics of combinators,
lambda calculus
Alberto Ciaramella –
speech recognition , patent informatics
Edmund M. Clarke –
model checking
John Cocke –
RISC
Edgar F. Codd (1923–2003) – formulated the
database
relational model
Jacques Cohen – computer science professor
Ian Coldwater – computer security
Simon Colton –
computational creativity
Alain Colmerauer –
Prolog
Douglas Comer –
Xinu
Paul Justin Compton –
Ripple Down Rules
Richard W. Conway –
CORC ,
CUPL , and
PL/C languages and dialects; programming textbooks
Gordon Cormack – co-invented
dynamic Markov compression
Stephen Cook –
NP-completeness
James Cooley –
Fast Fourier transform (FFT)
Danese Cooper –
open-source software
Fernando J. Corbató –
Compatible Time-Sharing System (CTSS),
Multics
Kit Cosper – open-source software
Patrick Cousot –
abstract interpretation
Ingemar Cox –
digital watermarking
Damien Coyle –
computational neuroscience ,
neuroimaging ,
neurotechnology , and
brain-computer interface
Seymour Cray –
Cray Research ,
supercomputer
Nello Cristianini – machine learning, pattern analysis,
artificial intelligence
Jon Crowcroft – networking
W. Bruce Croft
Glen Culler – interactive computing, computer graphics, high performance computing
Haskell Curry
D
Luigi Dadda – designer of the
Dadda multiplier
Ole-Johan Dahl –
Simula ,
object-oriented programming
Ryan Dahl – founder of
node.js project
Andries van Dam –
computer graphics ,
hypertext
Samir Das –
Wireless Networks ,
Mobile Computing ,
Vehicular ad hoc network ,
Sensor Networks ,
Mesh networking ,
Wireless ad hoc network
Neil Daswani –
computer security , co-founder and co-director of Stanford Advanced Computer Security Program, co-founder of Dasient (acquired by Twitter), former chief
information security of LifeLock and Symantec's Consumer Business Unit
Christopher J. Date – proponent of
database
relational model
Terry A. Davis – creator of
TempleOS
Jeff Dean –
Bigtable ,
MapReduce ,
Spanner of Google
Erik Demaine –
computational origami
Tom DeMarco
Richard DeMillo –
computer security ,
software engineering ,
educational technology
Dorothy E. Denning – computer security
Peter J. Denning – identified the use of an
operating system 's
working set and balance set, President of
ACM
Michael Dertouzos – Director of
Massachusetts Institute of Technology (MIT) Laboratory for Computer Science (LCS) from 1974 to 2001
Alexander Dewdney
Robert Dewar –
IFIP WG 2.1 member,
ALGOL 68 , chairperson;
AdaCore cofounder, president, CEO
Vinod Dham –
P5
Pentium processor
Jan Dietz (born 1945) (
decay constant ) –
information systems theory and Design & Engineering Methodology for Organizations
Whitfield Diffie (born 1944) (
linear response function ) – public key
cryptography ,
Diffie–Hellman key exchange
Edsger W. Dijkstra –
algorithms ,
Dijkstra's algorithm ,
Go To Statement Considered Harmful ,
semaphore (programming) ,
IFIP WG 2.1 member
Matthew Dillon –
DragonFly BSD with
LWKT ,
vkernel OS-level virtualisation,
file systems :
HAMMER 1,
HAMMER2
Alan Dix – wrote important university level textbook on
human–computer interaction
Jack Dongarra –
linear algebra
high performance computing (HCI)
Marco Dorigo –
ant colony optimization
Paul Dourish –
human computer interaction
Charles Stark Draper (1901–1987) – designer of
Apollo Guidance Computer , "father of
inertial navigation ", MIT professor
Susan Dumais –
information retrieval
Adam Dunkels –
Contiki ,
lwIP ,
uIP ,
protothreads
Jon Michael Dunn – founding dean of Indiana University School of Informatics, information based logics especially
relevance logic
Schahram Dustdar – Distributed Systems, TU Wien, Austria
E
Peter Eades –
graph drawing
Annie Easley
Wim Ebbinkhuijsen –
COBOL
John Presper Eckert –
ENIAC
Alan Edelman – Edelman's Law, stochastic operator, Interactive Supercomputing,
Julia (programming language) cocreator, high performance computing, numerical computing
Brendan Eich –
JavaScript ,
Mozilla
Philip Emeagwali – supercomputing
E. Allen Emerson – model checking
Douglas Engelbart – tiled
windows ,
hypertext ,
computer mouse
Barbara Engelhardt –
latent variable models ,
genomics ,
quantitative trait locus (QTL)
David Eppstein
Andrey Ershov – languages ALPHA ,
Rapira ; first Soviet
time-sharing system AIST-0 , electronic publishing system RUBIN ,
multiprocessing
workstation MRAMOR ,
IFIP WG 2.1 member, Aesthetics and the Human Factor in Programming
Don Estridge (1937–1985) – led development of original
IBM Personal Computer (PC); known as "father of the IBM PC"
Oren Etzioni –
MetaCrawler ,
Netbot
Christopher Riche Evans
David C. Evans –
computer graphics
Shimon Even
F
G
Richard P. Gabriel –
Maclisp ,
Common Lisp ,
Worse is Better ,
League for Programming Freedom ,
Lucid Inc. ,
XEmacs
Zvi Galil
Bernard Galler –
MAD (programming language)
Hector Garcia-Molina
Michael Garey –
NP-completeness
Hugo de Garis
Bill Gates – cofounder of
Microsoft
David Gelernter
Lisa Gelobter – was the Chief Digital Service Officer for the U.S. Department of Education, founder of teQuitable
Charles Geschke
Zoubin Ghahramani
Sanjay Ghemawat
Jeremy Gibbons –
generic programming ,
functional programming ,
formal methods ,
computational biology ,
bioinformatics
Juan E. Gilbert –
human-centered computing
Lee Giles –
CiteSeer
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
Ashok Goel
Joseph Goguen
E. Mark Gold –
Language identification in the limit
Adele Goldberg –
Smalltalk
Andrew V. Goldberg –
algorithms ,
algorithm engineering
Ian Goldberg – cryptographer,
off-the-record messaging
Judy Goldsmith –
computational complexity theory ,
decision theory , and
computer ethics
Oded Goldreich –
cryptography ,
computational complexity theory
Shafi Goldwasser –
cryptography ,
computational complexity theory
Gene Golub –
Matrix computation
Martin Charles Golumbic –
algorithmic graph theory
Gastón Gonnet – cofounder of
Waterloo Maple Inc.
Ian Goodfellow –
machine learning
James Gosling – Network extensible Window System (
NeWS ),
Java
Paul Graham –
Viaweb ,
On Lisp ,
Arc
Robert M. Graham – programming language compilers (GAT,
Michigan Algorithm Decoder (MAD)), virtual memory architecture,
Multics
Susan L. Graham –
compilers , programming environments
Jim Gray –
database
Sheila Greibach –
Greibach normal form ,
Abstract family of languages (AFL) theory
David Gries – The Science of Programming ,
Interference freedom , Member Emeritus, IFIP WG 2.3 on Programming Methodology
Robert Griesemer –
Go language
Ralph Griswold –
SNOBOL
Bill Gropp –
Message Passing Interface ,
Portable, Extensible Toolkit for Scientific Computation (PETSc)
Tom Gruber –
ontology engineering
Shelia Guberman –
handwriting recognition
Ramanathan V. Guha –
Resource Description Framework (RDF),
Netscape ,
RSS ,
Epinions
Neil J. Gunther –
computer performance analysis,
capacity planning
Jürg Gutknecht – with
Niklaus Wirth :
Lilith computer;
Modula-2 ,
Oberon ,
Zonnon
programming languages ;
Oberon operating system
Michael Guy –
Phoenix , work on
number theory ,
computer algebra , higher dimension
polyhedra theory; with
John Horton Conway
H
Nico Habermann –
operating systems ,
software engineering ,
inter-process communication , process synchronization,
deadlock avoidance,
software verification ,
programming languages :
ALGOL 60 ,
BLISS ,
Pascal ,
Ada
Philipp Matthäus Hahn – mechanical
calculator
Eldon C. Hall –
Apollo Guidance Computer
Wendy Hall
Joseph Halpern
Margaret Hamilton – ultra-reliable software design,
Apollo program space missions
Richard Hamming –
Hamming code , founder of the
Association for Computing Machinery
Jiawei Han –
data mining
Frank Harary –
graph theory
Brian Harris –
machine translation research, Canada's first
computer-assisted translation course, natural translation theory,
community interpreting (Critical Link)
Juris Hartmanis –
computational complexity theory
Johan Håstad –
computational complexity theory
Les Hatton –
software failure and vulnerabilities
Igor Hawryszkiewycz (born 1948) – American computer scientist and organizational theorist
He Jifeng –
provably correct systems
Eric Hehner –
predicative programming ,
formal methods ,
quote notation ,
ALGOL
Martin Hellman – encryption
Gernot Heiser –
operating system teaching, research, commercialising,
Open Kernel Labs ,
OKL4 , Wombat
James Hendler –
Semantic Web
John L. Hennessy –
computer architecture
Andrew Herbert
Carl Hewitt
Kelsey Hightower – open source, cloud computing
Danny Hillis –
Connection Machine
Geoffrey Hinton
Julia Hirschberg
Tin Kam Ho –
artificial intelligence ,
machine learning
C. A. R. Hoare –
logic , rigor,
communicating sequential processes (CSP)
Louis Hodes (1934–2008) –
Lisp ,
pattern recognition ,
logic programming ,
cancer research
Betty Holberton –
ENIAC programmer, developed the first
Sort Merge Generator
John Henry Holland –
genetic algorithms
Herman Hollerith (1860–1929) – invented recording of data on a machine readable medium, using
punched cards
Gerard Holzmann –
software verification , logic model checking (
SPIN )
John Hopcroft – compilers
Admiral
Grace Hopper (1906–1992) – developed early compilers: FLOW-Matic,
COBOL ; worked on
UNIVAC ; gave speeches on computer history, where she gave out
nano-seconds
Eric Horvitz –
artificial intelligence
Alston Householder
Paul Hudak (1952–2015) –
Haskell language design, textbooks on it and
computer music
David A. Huffman (1925–1999) –
Huffman coding , used in data compression
John Hughes – structuring computations with
arrows ;
QuickCheck randomized program testing framework;
Haskell language design
Roger Hui – co-created
J language
Watts Humphrey (1927–2010) –
Personal Software Process (PSP),
Software quality ,
Team Software Process (TSP)
Sandra Hutchins (born 1946) -
speech recognition
I
J
K
William Kahan –
numerical analysis
Robert E. Kahn –
TCP/IP
Avinash Kak –
digital image processing
Poul-Henning Kamp – invented
GBDE , FreeBSD Jails,
Varnish cache
David Karger
Richard Karp –
NP-completeness
Narendra Karmarkar –
Karmarkar's algorithm
Marek Karpinski – NP optimization problems
Ted Kaehler –
Smalltalk ,
Squeak ,
HyperCard
Alan Kay –
Dynabook ,
Smalltalk , overlapping
windows
Neeraj Kayal –
AKS primality test
Manolis Kellis –
computational biology
John George Kemeny – the language
BASIC
Ken Kennedy – compiling for parallel and vector machines
Brian Kernighan (born 1942) –
Unix , the 'k' in
AWK
Carl Kesselman –
grid computing
Gregor Kiczales –
CLOS ,
reflective programming ,
aspect-oriented programming
Peter T. Kirstein – Internet
Stephen Cole Kleene –
Kleene closure ,
recursion theory
Dan Klein –
Natural language processing ,
Machine translation
Leonard Kleinrock –
ARPANET ,
queueing theory ,
packet switching ,
hierarchical routing
Donald Knuth –
The Art of Computer Programming ,
MIX /
MMIX ,
TeX ,
literate programming
Andrew Koenig –
C++
Daphne Koller –
Artificial intelligence ,
bayesian network
Michael Kölling –
BlueJ
Andrey Nikolaevich Kolmogorov –
algorithmic complexity theory
Janet L. Kolodner –
case-based reasoning
David Korn –
KornShell
Kees Koster –
ALGOL 68
Robert Kowalski –
logic programming
John Koza –
genetic programming
John Krogstie –
SEQUAL framework
Joseph Kruskal –
Kruskal's algorithm
Maarja Kruusmaa – underwater roboticist
Thomas E. Kurtz (born 1928) –
BASIC programming language; Dartmouth College computer professor
L
Richard E. Ladner
Monica S. Lam
Leslie Lamport –
algorithms for
distributed computing ,
LaTeX
Butler Lampson –
SDS 940 , founding member
Xerox PARC ,
Xerox Alto ,
Turing Award
Peter Landin –
ISWIM ,
J operator ,
SECD machine ,
off-side rule ,
syntactic sugar ,
ALGOL ,
IFIP WG 2.1 member, advanced
lambda calculus to model
programming languages (aided
functional programming ),
denotational semantics
Tom Lane –
Independent JPEG Group ,
PostgreSQL ,
Portable Network Graphics (PNG)
Börje Langefors
Chris Lattner – creator of
Swift (programming language) and
LLVM compiler infrastructure
Steve Lawrence
Edward D. Lazowska
Joshua Lederberg
Manny M Lehman
Charles E. Leiserson –
cache-oblivious algorithms , provably good
work-stealing , coauthor of
Introduction to Algorithms
Douglas Lenat –
artificial intelligence ,
Cyc
Yann LeCun
Rasmus Lerdorf –
PHP
Max Levchin –
Gausebeck–Levchin test and
PayPal
Leonid Levin –
computational complexity theory
Kevin Leyton-Brown –
artificial intelligence
J.C.R. Licklider
David Liddle
Jochen Liedtke –
microkernel
operating systems
Eumel ,
L3 ,
L4
John Lions –
Lions' Commentary on UNIX 6th Edition, with Source Code (Lions Book)
Charles H. Lindsey –
IFIP WG 2.1 member, Revised Report on
ALGOL 68
Richard J. Lipton –
computational complexity theory
Barbara Liskov –
programming languages
Yanhong Annie Liu –
programming languages ,
algorithms , program design,
program optimization ,
software systems, optimizing, analysis, and transformations, intelligent systems,
distributed computing ,
computer security ,
IFIP WG 2.1 member
Darrell Long –
computer data storage ,
computer security
Patricia D. Lopez – broadening participation in computing
Gillian Lovegrove
Ada Lovelace – first programmer
David Luckham –
Lisp ,
Automated theorem proving , Stanford
Pascal Verifier,
Complex event processing ,
Rational Software cofounder (
Ada
compiler )
Eugene Luks
Nancy Lynch
M
Nadia Magnenat Thalmann –
computer graphics ,
virtual actor
Tom Maibaum
Simon Marlow –
Haskell developer, book author; co-developer:
Glasgow Haskell Compiler , Haxl remote data access
library
Zohar Manna –
fuzzy logic
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, and EDVAC, BINAC and UNIVAC I, the first commercial computer; worked with
Jean Bartik on
ENIAC and
Grace Murray Hopper on
UNIVAC
Ujjwal Maulik (born 1965)
multi-objective clustering and
Bioinformatics
Derek McAuley –
ubiquitous computing ,
computer architecture , networking
Conor McBride – researches
type theory ,
functional programming ; cocreated
Epigram (programming language) with James McKinna; member
IFIP Working Group 2.1 on Algorithmic Languages and Calculi
John McCarthy –
Lisp (programming language) ,
ALGOL ,
IFIP WG 2.1 member,
artificial intelligence
Andrew McCallum
Douglas McIlroy –
macros , pipes,
Unix philosophy
Chris McKinstry –
artificial intelligence ,
Mindpixel
Marshall Kirk McKusick –
BSD ,
Berkeley Fast File System
Lambert Meertens –
ALGOL 68 ,
IFIP WG 2.1 member,
ABC (programming language)
Kurt Mehlhorn – algorithms, data structures,
LEDA
Dora Metcalf – entrepreneur, engineer and mathematician
Bertrand Meyer –
Eiffel (programming language)
Silvio Micali –
cryptography
Robin Milner –
ML (programming language)
Jack Minker – database logic
Marvin Minsky –
artificial intelligence ,
perceptrons ,
Society of Mind
James G. Mitchell –
WATFOR compiler,
Mesa (programming language) ,
Spring (operating system) ,
ARM architecture
Tom M. Mitchell
Arvind Mithal –
formal verification of large
digital systems , developing dynamic
dataflow architectures ,
parallel computing
programming languages (Id, pH), compiling on parallel machines
Paul Mockapetris –
Domain Name System (DNS)
Cleve Moler –
numerical analysis ,
MATLAB
Faron Moller –
concurrency theory
John P. Moon –
inventor ,
Apple Inc.
Charles H. Moore –
Forth language
Edward F. Moore –
Moore machine
Gordon Moore –
Moore's law
J Strother Moore – string searching,
ACL2 theorem prover
Roger Moore – co-developed
APL \360, created
IPSANET , co-founded
I. P. Sharp Associates
Hans Moravec – robotics
Carroll Morgan –
formal methods
Robert Tappan Morris –
Morris worm
Joel Moses –
Macsyma
Rajeev Motwani –
randomized algorithm
Oleg A. Mukhanov –
quantum computing developer, co-founder and CTO of
SeeQC
Stephen Muggleton –
Inductive Logic Programming
Klaus-Robert Müller – machine learning, artificial intelligence
Alan Mycroft – programming languages
Brad A. Myers – human-computer interaction
N
Mihai Nadin – anticipation research
Makoto Nagao – machine translation, natural language processing, digital library
Frieder Nake – pioneered computer arts
Bonnie Nardi – human–computer interaction
Peter Naur (1928–2016) –
Backus–Naur form (BNF),
ALGOL 60 ,
IFIP WG 2.1 member
Roger Needham – computer security
James G. Nell –
Generalised Enterprise Reference Architecture and Methodology (GERAM)
Greg Nelson (1953–2015) –
satisfiability modulo theories ,
extended static checking ,
program verification ,
Modula-3 committee, Simplify theorem prover in
ESC/Java
Bernard de Neumann – massively parallel autonomous cellular processor, software engineering research
Klara Dan von Neumann (1911–1963) – early computers,
ENIAC programmer and control designer
John von Neumann (1903–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 computer , MADM
Andrew Ng –
artificial intelligence ,
machine learning ,
robotics
Nils John Nilsson (1933–2019) –
artificial intelligence
G.M. Nijssen – Nijssen's Information Analysis Methodology (NIAM)
object–role modeling
Tobias Nipkow – proof assistance
Maurice Nivat –
theoretical computer science ,
Theoretical Computer Science journal,
ALGOL ,
IFIP WG 2.1 member
Phiwa Nkambule –
Fintech ,
artificial intelligence ,
machine learning ,
robotics
Jerre Noe – computerized banking
Peter Nordin –
artificial intelligence ,
genetic programming ,
evolutionary robotics
Donald Norman –
user interfaces ,
usability
Peter Norvig –
artificial intelligence , Director of Research at Google
George Novacky – University of Pittsburgh: assistant department chair, senior lecturer in computer science, assistant dean of CAS for undergraduate studies
Kristen Nygaard –
Simula ,
object-oriented programming
O
P
Larry Page – co-founder of
Google
Sankar Pal
Paritosh Pandya
Christos Papadimitriou
David Park (1935–1990) – first
Lisp implementation, expert in fairness, program schemas,
bisimulation in
concurrent computing
David Parnas –
information hiding ,
modular programming
DJ Patil – former Chief Data Scientist of United States
Yale Patt –
Instruction-level parallelism , speculative architectures
David Patterson –
reduced instruction set computer (RISC),
RISC-V , redundant arrays of inexpensive disks (
RAID ), Berkeley
Network of Workstations (NOW)
Mike Paterson –
algorithms ,
analysis of algorithms (complexity)
Mihai Pătraşcu –
data structures
Lawrence Paulson –
ML
Randy Pausch (1960–2008) –
human–computer interaction , Carnegie professor, "
Last Lecture "
Juan Pavón –
software agents
Judea Pearl –
artificial intelligence ,
search algorithms
Alan Perlis – Programming Pearls
Radia Perlman –
spanning tree protocol
Pier Giorgio Perotto – computer designer at
Olivetti , designer of the
Programma 101
programmable calculator
Rózsa Péter –
recursive function theory
Simon Peyton Jones –
functional programming ,
Glasgow Haskell Compiler ,
C--
Kathy Pham – data, artificial intelligence, civic technology, healthcare, ethics
Roberto Pieraccini – speech technologist, engineering director at Google
Keshav Pingali –
IEEE Computer Society Charles Babbage Award ,
ACM Fellow (2012)
Gordon Plotkin
Amir Pnueli –
temporal logic
Willem van der Poel – computer graphics, robotics, geographic information systems, imaging, multimedia, virtual environments, games
Robin Popplestone –
COWSEL (renamed POP-1),
POP-2 ,
POP-11 languages,
Poplog
IDE ;
Freddy II robot
Cicely Popplewell (1920–1995) – British software engineer in 1960s
Emil Post – mathematics
Jon Postel – Internet
Franco Preparata –
computer engineering ,
computational geometry ,
parallel algorithms ,
computational biology
William H. Press – numerical algorithms
R
Rapelang Rabana
Grzegorz Rozenberg –
natural computing ,
automata theory ,
graph transformations and
concurrent systems
Michael O. Rabin –
nondeterministic machine
Dragomir R. Radev –
natural language processing ,
information retrieval
T. V. Raman –
accessibility ,
Emacspeak
Brian Randell –
ALGOL 60 , software
fault tolerance ,
dependability , pre-1950
history of computing hardware
Anders P. Ravn –
Duration Calculus
Raj Reddy –
artificial intelligence
David P. Reed
Trygve Reenskaug –
model–view–controller (MVC) software architecture pattern
John C. Reynolds –
continuations , definitional interpreters,
defunctionalization , Forsythe, Gedanken language,
intersection types ,
polymorphic lambda calculus , relational
parametricity ,
separation logic ,
ALGOL
Joyce K. Reynolds – Internet
Reinder van de Riet – Editor: Europe of Data and Knowledge Engineering , COLOR-X event modeling language
Bernard Richards –
medical informatics
Martin Richards – BCPL
Adam Riese
C. J. van Rijsbergen
Dennis Ritchie –
C (programming language) ,
Unix
Ron Rivest –
RSA ,
MD5 ,
RC4
Ken Robinson –
formal methods
Colette Rolland – REMORA methodology, meta modelling
John Romero – codeveloped
Doom
Azriel Rosenfeld
Douglas T. Ross – Automatically Programmed Tools (
APT ),
Computer-aided design ,
structured analysis and design technique ,
ALGOL X
Guido van Rossum –
Python (programming language)
M. A. Rothman –
UEFI
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
Peter Ružička – Slovak
computer scientist and
mathematician
S
George Sadowsky
Mehrnoosh Sadrzadeh – compositional models of meaning, machine learning
Umar Saif
Gerard Salton –
information retrieval
Jean E. Sammet –
programming languages
Claude Sammut –
artificial intelligence researcher
Carl Sassenrath –
operating systems ,
programming languages ,
Amiga ,
REBOL
Mahadev Satyanarayanan –
file systems ,
distributed systems ,
mobile computing ,
pervasive computing
Walter Savitch – discovery of complexity class
NL ,
Savitch's theorem ,
natural language processing ,
mathematical linguistics
Jonathan Schaeffer
Wilhelm Schickard – one of the first
calculating machines
Jürgen Schmidhuber – artificial intelligence, deep learning, artificial neural networks,
recurrent neural networks ,
Gödel machine , artificial curiosity,
meta-learning
Steve Schneider –
formal methods , security
Bruce Schneier – cryptography, security
Fred B. Schneider – concurrent and distributed computing
Sarita Schoenebeck — human–computer interaction
Glenda Schroeder – command-line shell, e-mail
Bernhard Schölkopf – machine learning, artificial intelligence
Dana Scott –
domain theory
Michael L. Scott –
programming languages ,
algorithms ,
distributed computing
Robert Sedgewick – algorithms, data structures
Ravi Sethi – compilers, 2nd
Dragon Book
Nigel Shadbolt
Adi Shamir –
RSA , cryptanalysis
Claude Shannon –
information theory
David E. Shaw – computational finance, computational biochemistry, parallel architectures
Cliff Shaw – systems programmer, artificial intelligence
Scott Shenker – networking
Shashi Shekhar – spatial computing
Ben Shneiderman –
human–computer interaction ,
information visualization
Edward H. Shortliffe –
MYCIN (medical diagnostic expert system)
Daniel Siewiorek –
electronic design automation ,
reliability computing ,
context aware
mobile computing ,
wearable computing ,
computer-aided design ,
rapid prototyping ,
fault tolerance
Joseph Sifakis – model checking
Herbert A. Simon –
artificial intelligence
Munindar P. Singh –
multiagent systems ,
software engineering , artificial intelligence,
social networks
Ramesh Sitaraman – helped build
Akamai 's high performance network
Daniel Sleator –
splay tree ,
amortized analysis
Aaron Sloman – artificial intelligence and cognitive science
Arne Sølvberg – information modelling
Brian Cantwell Smith –
reflective programming , 3lisp
David Canfield Smith – invented
interface icons ,
programming by demonstration , developed
graphical user interface ,
Xerox Star ;
Xerox PARC researcher, cofounded Dest Systems, Cognition
Steven Spewak –
enterprise architecture planning
Carol Spradling
Robert Sproull
Rohini Kesavan Srihari –
information retrieval , text analytics, multilingual text mining
Sargur Srihari –
pattern recognition ,
machine learning ,
computational criminology ,
CEDAR-FOX
Maciej Stachowiak –
GNOME ,
Safari ,
WebKit
Richard Stallman (born 1953) –
GNU Project
Ronald Stamper
Thad Starner
Richard E. Stearns –
computational complexity theory
Guy L. Steele, Jr. –
Scheme ,
Common Lisp
Thomas Sterling – creator of
Beowulf clusters
Alexander Stepanov –
generic programming
W. Richard Stevens (1951–1999) – author of books, including
TCP/IP Illustrated and
Advanced Programming in the Unix Environment
Larry Stockmeyer – computational complexity, distributed computing
Salvatore Stolfo – computer security, machine learning
Michael Stonebraker –
relational database practice and theory
Olaf Storaasli –
finite element machine ,
linear algebra ,
high performance computing
Christopher Strachey –
denotational semantics
Volker Strassen –
matrix multiplication ,
integer multiplication ,
Solovay–Strassen primality test
Bjarne Stroustrup –
C++
Madhu Sudan –
computational complexity theory ,
coding theory
Gerald Jay Sussman –
Scheme
Bert Sutherland –
graphics , Internet
Ivan Sutherland –
graphics
Latanya Sweeney – data privacy and algorithmic fairness
Mario Szegedy –
complexity theory ,
quantum computing
T
Parisa Tabriz – Google Director of Engineering, also known as the Security Princess
Roberto Tamassia –
computational geometry ,
computer security
Andrew S. Tanenbaum –
operating systems ,
MINIX
Austin Tate –
Artificial Intelligence Applications,
AI Planning ,
Virtual Worlds
Bernhard Thalheim – conceptual modelling foundation
Éva Tardos
Gábor Tardos
Robert Tarjan – splay tree
Valerie Taylor
Mario Tchou – Italian engineer, of Chinese descent, leader of
Olivetti Elea project
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
Charles P. Thacker –
Xerox Alto ,
Microsoft Research
Daniel Thalmann –
computer graphics ,
virtual actor
Ken Thompson – mainly designed and authored
Unix ,
Plan 9 and
Inferno operating systems,
B and Bon languages (precursors of
C ), created
UTF-8 character encoding, introduced
regular expressions in
QED , co-authored
Go language
Simon Thompson –
functional programming research, textbooks;
Cardano
domain-specific languages :
Marlowe
Sebastian Thrun – AI researcher, pioneered autonomous driving
Walter F. Tichy – RCS
Seinosuke Toda – computation complexity, recipient of 1998
Gödel Prize
Chai Keong Toh – mobile ad hoc networks pioneer
Linus Torvalds –
Linux kernel,
Git
Leonardo Torres Quevedo (1852–1936) – invented
El Ajedrecista (the chess player ) in 1912, a true automaton built to play chess without human guidance. In his work Essays on Automatics (1913), introduced the idea of
floating-point arithmetic . In 1920, built an early electromechanical device of the
Analytical Engine .
Godfried Toussaint – computational geometry, computational music theory
Gloria Townsend
Edwin E. Tozer – business information systems
Joseph F Traub – computational complexity of scientific problems
John V. Tucker –
computability theory
John Tukey – founder of
FFT algorithm ,
box plot ,
exploratory data analysis and Coining the term 'bit'
Alan Turing (1912–1954) – British computing pioneer,
Turing machine ,
algorithms , cryptology,
computer architecture
David Turner –
SASL ,
Kent Recursive Calculator ,
Miranda ,
IFIP WG 2.1 member
Murray Turoff –
computer-mediated communication
U
V
Leslie Valiant –
computational complexity theory ,
computational learning theory
Vladimir Vapnik –
pattern recognition ,
computational learning theory
Moshe Vardi – professor of computer science at
Rice University
Dorothy Vaughan
Bernard Vauquois – pioneered
computer science in
France ,
machine translation (MT) theory and practice including
Vauquois triangle ,
ALGOL 60
Umesh Vazirani
Manuela M. Veloso
François Vernadat –
enterprise modeling
Richard Veryard – enterprise modeling
Sergiy Vilkomir –
software testing ,
RC/DC
Paul Vitanyi –
Kolmogorov complexity ,
Information distance ,
Normalized compression distance ,
Normalized Google distance
Andrew Viterbi –
Viterbi algorithm
Jeffrey Scott Vitter –
external memory algorithms,
compressed data structures ,
data compression ,
databases
Paul Vixie –
DNS ,
BIND ,
PAIX ,
Internet Software Consortium , MAPS,
DNSBL
W
Eiiti Wada –
ALGOL N ,
IFIP WG 2.1 member,
Japanese Industrial Standards (JIS) X 0208, 0212,
Happy Hacking Keyboard
David Wagner – security,
cryptography
David Waltz
James Z. Wang
Steve Ward
Manfred K. Warmuth –
computational learning theory
David H. D. Warren –
AI ,
logic programming ,
Prolog ,
Warren Abstract Machine (WAM)
Kevin Warwick – artificial intelligence
Jan Weglarz
Philip Wadler –
functional programming ,
Haskell ,
Monad ,
Java ,
logic
Peter Wegner –
object-oriented programming , interaction (computer science)
Joseph Henry Wegstein –
ALGOL 58 ,
ALGOL 60 ,
IFIP WG 2.1 member,
data processing
technical standards ,
fingerprint analysis
Peter J. Weinberger – programming language design, the 'w' in
AWK
Mark Weiser –
ubiquitous computing
Joseph Weizenbaum – artificial intelligence,
ELIZA
David Wheeler – EDSAC, subroutines
Franklin H. Westervelt – use of computers in engineering education, conversational use of computers,
Michigan Terminal System (MTS),
ARPANET , distance learning
Steve Whittaker –
human computer interaction , computer support for cooperative work,
social media
Jennifer Widom – nontraditional data management
Gio Wiederhold –
database management systems
Norbert Wiener –
Cybernetics
Adriaan van Wijngaarden – Dutch pioneer; ARRA,
ALGOL ,
IFIP WG 2.1 member
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
Patrick Winston – artificial intelligence
Niklaus Wirth –
ALGOL W ,
IFIP WG 2.1 member,
Pascal ,
Modula ,
Oberon
Neil Wiseman – computer graphics
Dennis E. Wisnosky –
Integrated Computer-Aided Manufacturing (ICAM),
IDEF
Stephen Wolfram –
Mathematica
Mike Woodger –
Pilot ACE ,
ALGOL 60 ,
Ada (programming language)
Philip Woodward –
ambiguity function ,
sinc function ,
comb operator, rep operator ,
ALGOL 68-R
Beatrice Helen Worsley – wrote the first PhD dissertation involving modern computers; was one of the people who wrote
Transcode
Steve Wozniak – engineered first generation personal computers at Apple Computer
Jie Wu –
computer networks
William Wulf –
BLISS
system programming language +
optimizing compiler ,
Hydra
operating system ,
Tartan Laboratories
Y
Z
See also
References
External links