List of computer scientists
Appearance
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
[edit]- 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)
- Kevin Ashton – pioneered and named The Internet of Things at M.I.T.
- 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
[edit]- 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 (1934–2024) – 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
- 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
[edit]- 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
[edit]- 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: HAMMER1, 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
[edit]- 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
[edit]- Scott Fahlman
- Edward Feigenbaum – intelligence
- Edward Felten – computer security
- Tim Finin
- Raphael Finkel
- Donald Firesmith
- Gary William Flake
- Tommy Flowers – Colossus computer
- Robert Floyd – NP-completeness
- Sally Floyd – Internet congestion control
- Lawrence J. Fogel – evolutionary programming
- James D. Foley
- Ken Forbus
- L. R. Ford, Jr.
- Lance Fortnow
- Mahmoud Samir Fayed – PWCT, Ring
- Martin Fowler
- Robert France
- Herbert W. Franke
- Edward Fredkin
- Yoav Freund
- Daniel P. Friedman
- Charlotte Froese Fischer – computational theoretical physics
- Ping Fu
- Xiaoming Fu
- Kunihiko Fukushima – neocognitron, artificial neural networks, convolutional neural network architecture, unsupervised learning, deep learning
- D. R. Fulkerson
G
[edit]- 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
- Giri Topper - Topper of Anna University and Programmer
H
[edit]- 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
[edit]- Jean Ichbiah – Ada
- Roberto Ierusalimschy – Lua (programming language)
- Dan Ingalls – Smalltalk, BitBlt, Lively Kernel
- Mary Jane Irwin
- Kenneth E. Iverson – APL, J
J
[edit]- Ivar Jacobson – Unified Modeling Language, Object Management Group
- Anil K. Jain (born 1948)
- Ramesh Jain
- Jonathan James
- Jordi Ustrell Aguilà
- David S. Johnson
- Stephen C. Johnson
- Angie Jones – software engineer and automation architect. Holds 26 patented inventions in the United States of America and Japan
- Cliff Jones – Vienna Development Method (VDM)
- Michael I. Jordan
- Mathai Joseph
- Aravind K. Joshi
- Bill Joy (born 1954) – Sun Microsystems, BSD UNIX, vi, csh
- Dan Jurafsky – natural language processing
K
[edit]- 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
[edit]- 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
[edit]- Nadia Magnenat Thalmann – computer graphics, virtual actor
- Tom Maibaum
- George Mallen – creative computing, computer arts
- 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
[edit]- 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
[edit]- Martin Odersky – Scala programming language
- Peter O'Hearn – separation logic, bunched logic, Infer Static Analyzer
- T. William Olle – Ferranti Mercury
- Steve Omohundro
- Severo Ornstein
- John O'Sullivan – Wi-Fi
- John Ousterhout – Tcl programming language
- Mark Overmars – video game programming
- Susan Owicki – interference freedom
P
[edit]- 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
[edit]- 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
[edit]- 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
- Nitin Saxena – AKS Primality test for polynomial time primality testing, computational complexity theory
- 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
[edit]- 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
[edit]- Jeffrey D. Ullman – compilers, databases, complexity theory
V
[edit]- 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
[edit]- 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
[edit]- Mihalis Yannakakis
- Andrew Chi-Chih Yao
- John Yen
- Nobuo Yoneda – Yoneda lemma, Yoneda product, ALGOL, IFIP WG 2.1 member
- Edward Yourdon – Structured Systems Analysis and Design Method
- Moti Yung
Z
[edit]- Lotfi Zadeh – fuzzy logic
- Hans Zantema – termination analysis
- Arif Zaman – pseudo-random number generator
- Stanley Zdonik — database management systems
- Hussein Zedan – formal methods and real-time systems
- Shlomo Zilberstein – artificial intelligence, anytime algorithms, automated planning, and decentralized POMDPs
- Jill Zimmerman – James M. Beall Professor of Mathematics and Computer Science at Goucher College
- Mark Zuckerberg – cofounder of Facebook and Meta Platforms
- Konrad Zuse – German pioneer of hardware and software
See also
[edit]- List of computing people
- List of Jewish American computer scientists
- List of members of the National Academy of Sciences (computer and information sciences)
- List of pioneers in computer science
- List of programmers
- List of programming language researchers
- List of Russian IT developers
- List of Slovenian computer scientists
- List of Indian computer scientists
References
[edit]External links
[edit]Wikimedia Commons has media related to Computer scientists.