This is a list of computer scientists, people who do work in
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, in particular
research
Research is creative and systematic work undertaken to increase the stock of knowledge. It involves the collection, organization, and analysis of evidence to increase understanding of a topic, characterized by a particular attentiveness to ...
ers and authors.
Some persons notable as
programmer
A programmer, computer programmer or coder is an author of computer source code someone with skill in computer programming.
The professional titles Software development, ''software developer'' and Software engineering, ''software engineer' ...
s are included here because they work in research as well as program. A few of these people pre-date the
invention
An invention is a unique or novelty (patent), novel machine, device, Method_(patent), method, composition, idea, or process. An invention may be an improvement upon a machine, product, or process for increasing efficiency or lowering cost. It m ...
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
*
Wil van der Aalst –
business process management,
process mining,
Petri nets
*
Scott Aaronson –
quantum computing
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of wave-particle duality, both particles and waves, and quantum computing takes advantage of this behavior using s ...
and
complexity theory
*
Rediet Abebe
Rediet Abebe (Amharic: ረድኤት አበበ; born 1991) is an Ethiopian computer scientist working in algorithms and artificial intelligence. She is an assistant professor of computer science at the University of California, Berkeley. Previousl ...
–
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s,
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
*
Hal Abelson – intersection of computing and teaching
*
Serge Abiteboul – database theory
*
Samson Abramsky –
game semantics
Game semantics is an approach to Formal semantics (logic), formal semantics that grounds the concepts of truth or Validity (logic), validity on Game theory, game-theoretic concepts, such as the existence of a winning strategy for a player. In this ...
*
Leonard Adleman –
RSA,
DNA computing
*
Manindra Agrawal – polynomial-time
primality testing
*
Luis von Ahn
Luis von Ahn (; born 19 August 1978) is a Guatemalan-American entrepreneur and software developer. He is the founder of the company reCAPTCHA, which was sold to Google in 2009, and the co-founder and CEO of Duolingo. For these projects and othe ...
–
human-based computation
*
Alfred Aho
Alfred Vaino Aho (born August 9, 1941) is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.
Aho was elected into ...
– compilers book, the 'a' in
AWK
*
Frances E. Allen –
compiler optimization
*
Gene Amdahl –
supercomputer
A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instruc ...
developer,
Amdahl Corporation founder
*
David P. Anderson – volunteer computing
*
Lisa Anthony –
natural user interface
In computing, a natural user interface (NUI) or natural interface is a user interface that is effectively invisible, and remains invisible as the user continuously learns increasingly complex interactions. The word "natural" is used because most c ...
s
*
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
In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
*
Winifred "Tim" Alice Asprey – established the computer science curriculum at
Vassar College
*
John Vincent Atanasoff
John Vincent Atanasoff (October 4, 1903 – June 15, 1995) was an American physicist and inventor credited with inventing the first electronic digital computer. Atanasoff invented the first electronic digital computer in the 1930s at Iowa Stat ...
– computer pioneer, creator of Atanasoff Berry Computer (ABC)
*
Shakuntala Atre – database theory
*
Lennart Augustsson – languages (Lazy
ML, Cayenne), compilers (HBC
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, parallel Haskell front end,
Bluespec SystemVerilog early),
LPMud
LPMud, abbreviated LP, is a family of multi-user dungeon (MUD) server software. Its first instance, the original LPMud game driver, was developed in 1989 by Lars Pensjö (the LP in LPMud). LPMud was innovative in its separation of the MUD infrastr ...
pioneer,
NetBSD
NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was fork (software development), forked. It continues to ...
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s
B
*
Charles Babbage
Charles Babbage (; 26 December 1791 – 18 October 1871) was an English polymath. A mathematician, philosopher, inventor and mechanical engineer, Babbage originated the concept of a digital programmable computer.
Babbage is considered ...
(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
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
construction,
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
ic problem solving,
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
IFIP WG 2.1 member
*
John Backus –
Fortran,
Backus–Naur form
In computer science, Backus–Naur form (BNF, pronounced ), also known as Backus normal form, is a notation system for defining the Syntax (programming languages), syntax of Programming language, programming languages and other Formal language, for ...
, first complete
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
*
David F. Bacon –
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s,
garbage collection
*
David Bader
*
Victor Bahl
*
Fatmah Baothman – Saudi Arabian AI researcher
*
Anthony James Barr –
SAS, former Statistical Analysis System
*
Jean Bartik (1924–2011) – one of the first
computer programmers, on
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
(1946), one of the first
vacuum tube
A vacuum tube, electron tube, thermionic valve (British usage), or tube (North America) is a device that controls electric current flow in a high vacuum between electrodes to which an electric voltage, potential difference has been applied. It ...
computers
A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations ('' computation''). Modern digital electronic computers can perform generic sets of operations known as ''programs'', ...
, back when ''programming'' involved using cables, dials, and switches to physically rewire a machine; worked with
John Mauchly
John William Mauchly ( ; August 30, 1907 – January 8, 1980) was an American physicist who, along with J. Presper Eckert, designed ENIAC, the first general-purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the f ...
toward
BINAC
BINAC (Binary Automatic Computer) is an early electronic computer that was designed for Northrop Corporation, Northrop Aircraft Company by the Eckert–Mauchly Computer Corporation (EMCC) in 1949. J. Presper Eckert, Eckert and Mauchly had started ...
(1949),
EDVAC (1949),
UNIVAC
UNIVAC (Universal Automatic Computer) was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and ...
(1951) to develop early ''
stored program'' computers
*
Andrew Barto
*
Friedrich L. Bauer –
stack (data structure), ''Sequential Formula Translation'',
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
,
Bauer–Fike theorem
*
Rudolf Bayer –
B-tree
In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing fo ...
*
Gordon Bell (1934–2024) – computer designer
DEC VAX, author: ''Computer Structures''
*
Steven M. Bellovin
Steven M. Bellovin is a researcher on computer networking and computer security, security who has been a professor in the computer science department at Columbia University since 2005. Previously, Bellovin was a fellow at AT&T Labs Research in F ...
–
network security
*
Cecilia Berdichevsky (1925–2010) – pioneering Argentinian computer scientist
*
Tim Berners-Lee
Sir Timothy John Berners-Lee (born 8 June 1955), also known as TimBL, is an English computer scientist best known as the inventor of the World Wide Web, the HTML markup language, the URL system, and HTTP. He is a professorial research fellow a ...
–
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
*
Daniel J. Bernstein –
qmail, software as protected speech
*
Peter Bernus
*
Abhay Bhushan
*
Dines Bjørner –
Vienna Development Method (VDM),
RAISE
*
Gerrit Blaauw – one of main designers of
IBM System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
computer line
*
Sue Black
*
David Blei
*
Dorothy Blum –
National Security Agency
The National Security Agency (NSA) is an intelligence agency of the United States Department of Defense, under the authority of the director of national intelligence (DNI). The NSA is responsible for global monitoring, collection, and proces ...
*
Lenore Blum –
complexity
Complexity characterizes the behavior of a system or model whose components interact in multiple ways and follow local rules, leading to non-linearity, randomness, collective dynamics, hierarchy, and emergence.
The term is generally used to c ...
*
Manuel Blum
Manuel Blum (born 26 April 1938) is a Venezuelan-born American computer scientist who received the Turing Award in 1995 "In recognition of his contributions to the foundations of computational complexity theory and its application to cryptography ...
–
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
*
Barry Boehm
Barry William Boehm (May 16, 1935 – August 20, 2022) was an American software engineer, distinguished professor of computer science, industrial and systems engineering; the TRW Professor of Software Engineering; and founding director of the Cen ...
– software engineering economics, spiral development
*
Corrado Böhm
Corrado Böhm (17 January 1923 – 23 October 2017) was an Italian computer scientist and Professor Emeritus at the Sapienza University of Rome, University of Rome "La Sapienza", known especially for his contributions to the theory of structured ...
– author of the structured program theorem
*
Kurt Bollacker
*
Jeff Bonwick – invented
slab allocation and
ZFS
*
Grady Booch –
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
,
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
*
George Boole
George Boole ( ; 2 November 1815 – 8 December 1864) was a largely self-taught English mathematician, philosopher and logician, most of whose short career was spent as the first professor of mathematics at Queen's College, Cork in Ireland. H ...
–
Boolean logic
In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variable (mathematics), variables are the truth values ''true'' and ''false'', usually denot ...
*
Andrew Booth – developed the first
rotating drum storage device
*
Kathleen Booth – developed the first
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
*
Anita Borg (1949–2003) – American computer scientist, founder of
Anita Borg Institute for Women and Technology
*
Alan H. Borning –
human–computer interaction
Human–computer interaction (HCI) is the process through which people operate and engage with computer systems. Research in HCI covers the design and the use of computer technology, which focuses on the interfaces between people (users) and comp ...
,
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
,
constraint programming
Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state t ...
,
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s,
ThingLab
*
Bert Bos –
Cascading Style Sheets
*
Mikhail Botvinnik –
World Chess Champion
The World Chess Championship is played to determine the world champion in chess. The current world champion is Gukesh Dommaraju, who defeated the previous champion Ding Liren in the World Chess Championship 2024, 2024 World Chess Championship. ...
,
computer scientist
A computer scientist is a scientist who specializes in the academic study of computer science.
Computer scientists typically work on the theoretical side of computation. Although computer scientists can also focus their work and research on ...
,
electrical engineer
Electrical engineering is an engineering discipline concerned with the study, design, and application of equipment, devices, and systems that use electricity, electronics, and electromagnetism. It emerged as an identifiable occupation in the l ...
, pioneered early
expert system AI and
computer chess
Computer chess includes both hardware (dedicated computers) and software capable of playing chess. Computer chess provides opportunities for players to practice even in the absence of human opponents, and also provides opportunities for analysi ...
*
Jonathan Bowen –
Z notation,
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
*
Stephen R. Bourne –
Bourne shell, portable
ALGOL 68C compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
*
Harry Bouwman (born 1953) – Dutch Information systems researcher, professor at Åbo Akademi University
*
Robert S. Boyer – string searching,
ACL2 theorem prover
*
Karlheinz Brandenburg
Karlheinz Brandenburg (born 20 June 1954) is a German electrical engineer and mathematician. Together with Ernst Eberlein, Heinz Gerhäuser (former Institutes Director of Fraunhofer IIS), Bernhard Grill, Jürgen Herre and Harald Popp (all Fraunh ...
– Main
mp3 contributor
*
Gilles Brassard
Gilles Brassard is a faculty member of the Université de Montréal, where he has been a Full Professor since 1988 and Canada Research Chair since 2001.
Education and early life
Brassard received a Ph.D. in Computer Science from Cornell Univers ...
–
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
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
*
David J. Brown –
unified memory architecture,
binary compatibility
*
Per Brinch Hansen (surname "Brinch Hansen") –
RC 4000 multiprogramming system,
operating system kernels,
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
s,
monitors,
concurrent programming,
Concurrent Pascal,
distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
& processes,
parallel computing
Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
*
Sjaak Brinkkemper – methodology of product software development
*
Fred Brooks
Frederick Phillips Brooks Jr. (April 19, 1931 – November 17, 2022) was an American computer architect, software engineer, and computer scientist, best known for managing development of IBM's System/360 family of mainframe computers and the ...
–
IBM System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
,
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
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
*
Tracy Camp –
wireless computing
*
Martin Campbell-Kelly –
history of computing
*
Rosemary Candlin
*
Rod Canion – cofounder of
Compaq Computer Corporation
Compaq Computer Corporation was an American information technology, information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compati ...
*
Bryan Cantrill – invented
DTrace
DTrace is a comprehensive dynamic tracing framework originally created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time.
Originally developed for Solaris, it has since been released un ...
*
Luca Cardelli
Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming lang ...
*
John Carmack – codeveloped
Doom
*
Michael Caspersen –
programming methodology, education in
OO programming, leadership in developing
informatics
Informatics is the study of computational systems. According to the Association for Computing Machinery, ACM Europe Council and Informatics Europe, informatics is synonymous with computer science and computing as a profession, in which the centra ...
education
*
Edwin Catmull
Edwin Earl Catmull (born March 31, 1945) is an American computer scientist and animator who served as the co-founder of Pixar and the President of Walt Disney Animation Studios. He has been honored for his contributions to 3D computer graphics, ...
–
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
*
Vint Cerf
Vinton Gray Cerf (; born June 23, 1943) is an American Internet pioneer and is recognized as one of "the fathers of the Internet", sharing this title with TCP/IP co-developer Robert Kahn.
He has received honorary degrees and awards that inclu ...
– Internet,
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
*
Gregory Chaitin
Gregory John Chaitin ( ; born 25 June 1947) is an Argentina, Argentine-United States, American mathematician and computer scientist. Beginning in the late 1960s, Chaitin made contributions to algorithmic information theory and metamathematics, ...
*
Robert Cailliau – Belgian computer scientist
*
Zhou Chaochen –
duration calculus
*
Peter Chen –
entity-relationship model,
data modeling
Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques. It may be applied as part of broader Model-driven engineering (MDE) concept.
Overview
Data modeli ...
,
conceptual model
The term conceptual model refers to any model that is formed after a wikt:concept#Noun, conceptualization or generalization process. Conceptual models are often abstractions of things in the real world, whether physical or social. Semantics, Semant ...
*
Leonardo Chiariglione
Leonardo Chiariglione () (born 30 January 1943 (age ) in Almese, Turin province, Piedmont, Italy) is an Italian engineer who has led the development of international technical standards for digital media. In particular, he was the chairman of ...
– founder of
MPEG
The Moving Picture Experts Group (MPEG) is an alliance of working groups established jointly by International Organization for Standardization, ISO and International Electrotechnical Commission, IEC that sets standards for media coding, includ ...
*
Tracy Chou – computer scientist and activist
*
Alonzo Church
Alonzo Church (June 14, 1903 – August 11, 1995) was an American computer scientist, mathematician, logician, and philosopher who made major contributions to mathematical logic and the foundations of theoretical computer science. He is bes ...
– mathematics of combinators,
lambda calculus
In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
*
Alberto Ciaramella –
speech recognition
Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also ...
, patent informatics
*
Edmund M. Clarke –
model checking
*
John Cocke –
reduced instruction set computer (RISC)
*
Edgar F. Codd
Edgar Frank "Ted" Codd (19 August 1923 – 18 April 2003) was a British computer scientist who, while working for IBM, invented the relational model for database management, the theoretical basis for relational databases and relational database ...
(1923–2003) – formulated the
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
relational model
The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data are represented in terms of t ...
*
Jacques Cohen – computer science professor
*
Ian Coldwater – computer security
*
Simon Colton –
computational creativity
*
Alain Colmerauer –
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
*
Douglas Comer –
Xinu
*
Paul Justin Compton –
Ripple-down rules
*
Richard W. Conway –
CORC,
CUPL, and
PL/C languages and dialects; programming textbooks
*
Stephen Cook –
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
ness
*
James Cooley –
Fast Fourier transform
A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
(FFT)
*
Steven Anson Coons – conic section analyses,
Bézier surface patches (includes
Coons patch
In mathematics, a Coons patch, is a type of surface patch or manifold Parametrization (geometry), parametrization used in computer graphics to smoothly join other Surface (topology), surfaces together, and in computational mechanics applications, ...
), ''The Little Red Book'' (1967),
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
*
Danese Cooper –
open-source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
*
Fernando J. Corbató –
Compatible Time-Sharing System (CTSS),
Multics
Multics ("MULTiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
*
Gordon Cormack – co-invented
dynamic Markov compression
*
Kit Cosper – open-source software
*
Patrick Cousot –
abstract interpretation
*
Ingemar Cox –
digital watermarking
*
Damien Coyle –
computational neuroscience,
neuroimaging
Neuroimaging is the use of quantitative (computational) techniques to study the neuroanatomy, structure and function of the central nervous system, developed as an objective way of scientifically studying the healthy human brain in a non-invasive ...
,
neurotechnology, and
brain-computer interface
*
Seymour Cray –
Cray Research,
supercomputer
A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instruc ...
*
Nello Cristianini
Nello Cristianini (born 1968) is a professor of Artificial Intelligence in the Department of Computer Science at the University of Bath.
Education
Cristianini holds a degree in physics from the University of Trieste, a Master in computational ...
– machine learning, pattern analysis,
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
*
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
Ole-Johan Dahl (12 October 1931 – 29 June 2002) was a Norwegian computer scientist. Dahl was a professor of computer science at the University of Oslo and is considered to be one of the fathers of Simula and object-oriented programming along wi ...
–
Simula
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of AL ...
,
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
*
Ryan Dahl – founder of
node.js project
*
Andries van Dam –
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
,
hypertext
Hypertext is E-text, text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. Hypertext documents are interconnected by hyperlinks, which are typic ...
*
Samir Das –
Wireless Networks,
Mobile Computing
Mobile computing is human–computer interaction in which a computer is expected to be transported during normal usage and allow for transmission of data, which can include voice and video transmissions. Mobile computing involves mobile commun ...
,
Vehicular ad hoc network,
Sensor Networks,
Mesh networking
A mesh network is a local area network network topology, topology in which the infrastructure Node (networking), nodes (i.e. bridges, switches, and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many othe ...
,
Wireless ad hoc network
*
Neil Daswani –
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
, co-founder and co-director of Stanford Advanced Computer Security Program, co-founder of Dasient (acquired by Twitter), former chief
information security
Information security is the practice of protecting information by mitigating information risks. It is part of information risk management. It typically involves preventing or reducing the probability of unauthorized or inappropriate access to data ...
of LifeLock and Symantec's Consumer Business Unit
*
Christopher J. Date – proponent of
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
relational model
The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data are represented in terms of t ...
*
Terry A. Davis – creator of
TempleOS
*
Jeff Dean –
Bigtable,
MapReduce,
Spanner of Google
*
Erik Demaine –
computational origami
*
Tom DeMarco
*
Richard DeMillo –
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
,
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
,
educational technology
Educational technology (commonly abbreviated as edutech, or edtech) is the combined use of computer hardware, software, and educational theory and practice to facilitate learning and teaching. When referred to with its abbreviation, "EdTech" ...
*
Dorothy E. Denning – computer security
*
Peter J. Denning – identified the use of an
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
's
working set
Working set is a concept in computer science which defines the amount of memory that a process (computing), process requires in a given time interval.
Definition
Peter_J._Denning, Peter Denning (1968) defines "the working set of information W(t ...
and balance set, President of
ACM
*
Michael Dertouzos – Director of
Massachusetts Institute of Technology
The Massachusetts Institute of Technology (MIT) is a Private university, private research university in Cambridge, Massachusetts, United States. Established in 1861, MIT has played a significant role in the development of many areas of moder ...
(MIT) Laboratory for Computer Science (LCS) from 1974 to 2001
*
Alexander Dewdney
*
Robert Dewar –
IFIP WG 2.1 member,
ALGOL 68
ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
, chairperson;
AdaCore cofounder, president, CEO
*
Vinod Dham –
P5 Pentium
Pentium is a series of x86 architecture-compatible microprocessors produced by Intel from 1993 to 2023. The Pentium (original), original Pentium was Intel's fifth generation processor, succeeding the i486; Pentium was Intel's flagship proce ...
processor
*
Jan Dietz (born 1945) (
decay constant) –
information systems
An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information. From a sociotechnical perspective, information systems comprise four components: task, people, structu ...
theory and ''Design & Engineering Methodology for Organizations''
*
Whitfield Diffie (born 1944) (
linear response function) – public key
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
,
Diffie–Hellman key exchange
*
Edsger W. Dijkstra
Edsger Wybe Dijkstra ( ; ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, software engineer, mathematician, and science essayist.
Born in Rotterdam in the Netherlands, Dijkstra studied mathematics and physics and the ...
–
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s,
Dijkstra's algorithm,
Go To Statement Considered Harmful,
semaphore (programming),
IFIP WG 2.1 member
*
Matthew Dillon
Matthew Dillon (born 1966) is an American software engineer known for Amiga software, contributions to FreeBSD and for starting and leading the DragonFly BSD project since 2003.
Biography
Dillon studied electronic engineering and computer scie ...
–
DragonFly BSD
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in ...
with
LWKT,
vkernel OS-level virtualisation,
file systems:
HAMMER
A hammer is a tool, most often a hand tool, consisting of a weighted "head" fixed to a long handle that is swung to deliver an impact to a small area of an object. This can be, for example, to drive nail (fastener), nails into wood, to sh ...
1,
HAMMER2
*
Alan Dix – wrote important university level textbook on
human–computer interaction
Human–computer interaction (HCI) is the process through which people operate and engage with computer systems. Research in HCI covers the design and the use of computer technology, which focuses on the interfaces between people (users) and comp ...
*
Jack Dongarra –
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
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
Information retrieval (IR) in computing and information science is the task of identifying and retrieving information system resources that are relevant to an Information needs, information need. The information need can be specified in the form ...
*
Adam Dunkels
Adam Dunkels (born 28 May 1978) is a Swedish computer scientist, software engineer, entrepreneur, and founder of Thingsquare, an Internet of things (IoT) product development business.
His father was professor of mathematics Andrejs Dunkels. His ...
–
Contiki
Contiki is an operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things (IoT) devices. Contiki is used for systems for street lighting, sound monitoring for smart cities, radiation monitori ...
,
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
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
*
John Presper Eckert
John Adam Presper "Pres" Eckert Jr. (April 9, 1919 – June 3, 1995) was an American electrical engineering, electrical engineer and computer pioneer. With John Mauchly, he designed the first general-purpose electronic digital computer (ENIAC), ...
–
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
*
Alan Edelman – Edelman's Law, stochastic operator, Interactive Supercomputing,
Julia (programming language)
Julia is a high-level programming language, high-level, general-purpose programming language, general-purpose dynamic programming language, dynamic programming language, designed to be fast and productive, for e.g. data science, artificial intel ...
cocreator, high performance computing, numerical computing
*
Brendan Eich
Brendan Eich ( ; born July 4, 1961) is an American computer programmer and technology executive. He created the JavaScript programming language and co-founded the Mozilla project, the Mozilla Foundation, and the Mozilla Corporation. He serve ...
–
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
,
Mozilla
*
Philip Emeagwali – supercomputing
*
E. Allen Emerson – model checking
*
Douglas Engelbart – tiled
windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
hypertext
Hypertext is E-text, text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. Hypertext documents are interconnected by hyperlinks, which are typic ...
,
computer mouse
A computer mouse (plural mice; also mouses) is a hand-held pointing device that detects Plane (mathematics), two-dimensional motion relative to a surface. This motion is typically translated into the motion of the Cursor (user interface)#Po ...
*
Barbara Engelhardt –
latent variable models,
genomics
Genomics is an interdisciplinary field of molecular biology focusing on the structure, function, evolution, mapping, and editing of genomes. A genome is an organism's complete set of DNA, including all of its genes as well as its hierarchical, ...
,
quantitative trait locus
A quantitative trait locus (QTL) is a locus (section of DNA) that correlates with variation of a quantitative trait in the phenotype of a population of organisms. QTLs are mapped by identifying which molecular markers (such as SNPs or AFLPs) ...
(QTL)
*
David Eppstein
*
Andrey Ershov – languages ''ALPHA'', ''
Rapira''; first Soviet
time-sharing
In computing, time-sharing is the Concurrency (computer science), concurrent sharing of a computing resource among many tasks or users by giving each Process (computing), task or User (computing), user a small slice of CPU time, processing time. ...
system ''AIST-0'', electronic publishing system ''RUBIN'',
multiprocessing
Multiprocessing (MP) is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. The ...
workstation
A workstation is a special computer designed for technical or computational science, scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating syste ...
''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
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
*
Shimon Even
F
*
Scott Fahlman
Scott Elliott Fahlman (born March 21, 1948) is an American computer scientist and Professor Emeritus at Carnegie Mellon University's Language Technologies Institute and Computer Science Department. He is notable for early work on automated pla ...
*
Edward Feigenbaum –
intelligence
Intelligence has been defined in many ways: the capacity for abstraction, logic, understanding, self-awareness, learning, emotional knowledge, reasoning, planning, creativity, critical thinking, and problem-solving. It can be described as t ...
*
Edward Felten –
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
*
Tim Finin
*
Raphael Finkel
*
Donald Firesmith
*
Gary William Flake
*
Tommy Flowers
Thomas Harold Flowers Order of the British Empire, MBE (22 December 1905 – 28 October 1998) was an English engineer with the British General Post Office. During World War II, Flowers designed and built Colossus computer, Colossus, the world's ...
–
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
Lance Jeremy Fortnow (born August 15, 1963) is a computer scientist known for major results in Computational complexity theory, computational complexity and interactive proof systems. Since 2019, he has been at the Illinois Institute of Technology ...
*
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 network
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.
A neural network consists of connected ...
s,
convolutional neural network
A convolutional neural network (CNN) is a type of feedforward neural network that learns features via filter (or kernel) optimization. This type of deep learning network has been applied to process and make predictions from many different ty ...
architecture,
unsupervised learning,
deep learning
Deep learning is a subset of machine learning that focuses on utilizing multilayered neural networks to perform tasks such as classification, regression, and representation learning. The field takes inspiration from biological neuroscience a ...
*
D. R. Fulkerson
G
*
Richard P. Gabriel –
Maclisp
Maclisp (or MACLISP, sometimes styled MacLisp or MacLISP) is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC (from which it derived its prefix) in the late 19 ...
,
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
,
Worse is Better,
League for Programming Freedom,
Lucid Inc.
Lucid Incorporated was a Menlo Park, California, Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994.
History
The first CEO was Tony Slocum, formerly of IntelliCorp ...
,
XEmacs
*
Zvi Galil
*
Bernard Galler
Bernard A. Galler (October 3, 1928 – September 4, 2006) was an American mathematician and computer scientist at the University of Michigan who was involved in the development of large-scale operating systems and computer languages including t ...
–
MAD (programming language)
Mad, mad, or MAD may refer to:
Geography
* Mad (village), a village in the Dunajská Streda District of Slovakia
* Mád, a village in Hungary
* Adolfo Suárez Madrid–Barajas Airport, by IATA airport code
* Mad River (disambiguation), several ri ...
*
Hector Garcia-Molina
*
Michael Garey –
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
ness
*
Hugo de Garis
*
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
– cofounder of
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
*
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
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
,
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
,
computational biology
Computational biology refers to the use of techniques in computer science, data analysis, mathematical modeling and Computer simulation, computational simulations to understand biological systems and relationships. An intersection of computer sci ...
,
bioinformatics
Bioinformatics () is an interdisciplinary field of science that develops methods and Bioinformatics software, software tools for understanding biological data, especially when the data sets are large and complex. Bioinformatics uses biology, ...
*
Juan E. Gilbert –
human-centered computing
*
Lee Giles –
CiteSeer
*
Seymour Ginsburg –
formal language
In logic, mathematics, computer science, and linguistics, a formal language is a set of strings whose symbols are taken from a set called "alphabet".
The alphabet of a formal language consists of symbols that concatenate into strings (also c ...
s,
automata theory,
AFL theory,
database theory
Database theory encapsulates a broad range of topics related to the study and research of the theoretical realm of databases and database management systems.
Theoretical aspects of data management include, among other areas, the foundations of q ...
*
Robert L. Glass
*
Kurt Gödel
Kurt Friedrich Gödel ( ; ; April 28, 1906 – January 14, 1978) was a logician, mathematician, and philosopher. Considered along with Aristotle and Gottlob Frege to be one of the most significant logicians in history, Gödel profoundly ...
–
computability
Computability is the ability to solve a problem by an effective procedure. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is c ...
; 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 Language identification in the limit is a formal model for inductive inference of formal languages, mainly by computers (see machine learning and induction of regular languages). It was introduced by E. Mark Gold in a technical report and a journ ...
''
*
Adele Goldberg –
Smalltalk
Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
*
Andrew V. Goldberg –
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s,
algorithm engineering
*
Ian Goldberg – cryptographer,
off-the-record messaging
*
Judy Goldsmith –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
,
decision theory
Decision theory or the theory of rational choice is a branch of probability theory, probability, economics, and analytic philosophy that uses expected utility and probabilities, probability to model how individuals would behave Rationality, ratio ...
, and
computer ethics
Computer ethics is a part of practical philosophy concerned with how computing professionals should make decisions regarding professional and social conduct.
Margaret Anne Pierce, a professor in the Department of Mathematics and Computers at Geor ...
*
Oded Goldreich –
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
,
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
*
Shafi Goldwasser
Shafrira Goldwasser (; born 1959) is an Israeli-American computer scientist. A winner of the Turing Award in 2012, she is the RSA Professor of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology; a professor o ...
–
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
,
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
*
Gene Golub –
Matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
computation
*
Martin Charles Golumbic –
algorithmic graph theory
*
Gastón Gonnet – cofounder of
Waterloo Maple Inc.
*
Ian Goodfellow –
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
*
James Gosling
James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java (programming language), Java programming language.
Gosling was elected a member of the National Academy of E ...
– Network extensible Window System (
NeWS
News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the te ...
),
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
*
Paul Graham –
Viaweb
Viaweb was a web application, web-based application that allowed users to build and web hosting, host their own online stores with little technical expertise using a web browser. The company was started in July 1995 by Paul Graham (computer progr ...
,
On Lisp,
Arc
*
Robert M. Graham – programming language compilers (GAT,
Michigan Algorithm Decoder (MAD)), virtual memory architecture,
Multics
Multics ("MULTiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
*
Susan L. Graham –
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s, programming environments
*
Jim Gray –
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
*
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
SNOBOL ("StriNg Oriented and symBOlic Language") is a series of programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of a ...
*
Bill Gropp –
Message Passing Interface
The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of use ...
,
Portable, Extensible Toolkit for Scientific Computation (PETSc)
*
Tom Gruber –
ontology engineering
*
Shelia Guberman –
handwriting recognition
Handwriting recognition (HWR), also known as handwritten text recognition (HTR), is the ability of a computer to receive and interpret intelligible handwriting, handwritten input from sources such as paper documents, photographs, touch-screens ...
*
Ramanathan V. Guha –
Resource Description Framework
The Resource Description Framework (RDF) is a method to describe and exchange graph data. It was originally designed as a data model for metadata by the World Wide Web Consortium (W3C). It provides a variety of syntax notations and formats, of whi ...
(RDF),
Netscape,
RSS,
Epinions
*
Neil J. Gunther –
computer performance analysis,
capacity planning
*
Jürg Gutknecht – with
Niklaus Wirth
Niklaus Emil Wirth ( IPA: ) (15 February 1934 – 1 January 2024) was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Tu ...
:
Lilith
Lilith (; ), also spelled Lilit, Lilitu, or Lilis, is a feminine figure in Mesopotamian and Jewish mythology, theorized to be the first wife of Adam and a primordial she-demon. Lilith is cited as having been "banished" from the Garden of Eden ...
computer;
Modula-2,
Oberon
Oberon () is a king of the fairy, fairies in Middle Ages, medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania ...
,
Zonnon programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s;
Oberon operating system
*
Michael Guy –
Phoenix, work on
number theory
Number theory is a branch of pure mathematics devoted primarily to the study of the integers and arithmetic functions. Number theorists study prime numbers as well as the properties of mathematical objects constructed from integers (for example ...
,
computer algebra
In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating expression (mathematics), ...
, higher dimension
polyhedra
In geometry, a polyhedron (: polyhedra or polyhedrons; ) is a three-dimensional figure with flat polygonal faces, straight edges and sharp corners or vertices. The term "polyhedron" may refer either to a solid figure or to its boundary su ...
theory; with
John Horton Conway
*
Giri Topper - Topper of
Anna University and
Programmer
A programmer, computer programmer or coder is an author of computer source code someone with skill in computer programming.
The professional titles Software development, ''software developer'' and Software engineering, ''software engineer' ...
H
*
Nico Habermann –
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s,
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
,
inter-process communication
In computer science, interprocess communication (IPC) is the sharing of data between running Process (computing), processes in a computer system. Mechanisms for IPC may be provided by an operating system. Applications which use IPC are often cat ...
, process synchronization,
deadlock avoidance,
software verification Software verification is a discipline of software engineering, programming languages, and theory of computation whose goal is to assure that software satisfies the expected requirements.
Broad scope and classification
A broad definition of verif ...
,
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s:
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
,
BLISS,
Pascal,
Ada
*
Philipp Matthäus Hahn – mechanical
calculator
An electronic calculator is typically a portable electronic device used to perform calculations, ranging from basic arithmetic to complex mathematics.
The first solid-state electronic calculator was created in the early 1960s. Pocket-si ...
*
Eldon C. Hall –
Apollo Guidance Computer
*
Wendy Hall
*
Joseph Halpern
*
Margaret Hamilton – ultra-reliable software design,
Apollo program
The Apollo program, also known as Project Apollo, was the United States human spaceflight program led by NASA, which Moon landing, landed the first humans on the Moon in 1969. Apollo followed Project Mercury that put the first Americans in sp ...
space missions
*
Richard Hamming
Richard Wesley Hamming (February 11, 1915 – January 7, 1998) was an American mathematician whose work had many implications for computer engineering and telecommunications. His contributions include the Hamming code (which makes use of a Ha ...
–
Hamming code
In computer science and telecommunications, Hamming codes are a family of linear error-correcting codes. Hamming codes can detect one-bit and two-bit errors, or correct one-bit errors without detection of uncorrected errors. By contrast, the ...
, founder of the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membe ...
*
Jiawei Han –
data mining
Data mining is the process of extracting and finding patterns in massive data sets involving methods at the intersection of machine learning, statistics, and database systems. Data mining is an interdisciplinary subfield of computer science and ...
*
Frank Harary –
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
*
Brian Harris –
machine translation research, Canada's first
computer-assisted translation course, natural translation theory,
community interpreting (Critical Link)
*
Juris Hartmanis –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
*
Johan Håstad –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
*
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
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
,
quote notation,
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
*
Martin Hellman – encryption
*
Gernot Heiser –
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
teaching, research, commercialising,
Open Kernel Labs,
OKL4, Wombat
*
James Hendler –
Semantic Web
The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.
To enable the encoding o ...
*
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
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
,
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
*
C. A. R. Hoare –
logic
Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the study of deductively valid inferences or logical truths. It examines how conclusions follow from premises based on the structure o ...
, rigor,
communicating sequential processes (CSP)
*
Louis Hodes (1934–2008) –
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
,
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
,
logic programming
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
,
cancer research
*
Betty Holberton –
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
programmer, developed the first
Sort Merge Generator
*
John Henry Holland
John Henry Holland (February 2, 1929 – August 9, 2015) was an American scientist and professor of electrical engineering and computer science at the University of Michigan. He was a pioneer in what became known as genetic algorithms.
Biograph ...
–
genetic algorithm
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
s
*
Herman Hollerith
Herman Hollerith (February 29, 1860 – November 17, 1929) was a German-American statistician, inventor, and businessman who developed an electromechanical tabulating machine for punched cards to assist in summarizing information and, later, in ...
(1860–1929) – invented recording of data on a machine readable medium, using
punched card
A punched card (also punch card or punched-card) is a stiff paper-based medium used to store digital information via the presence or absence of holes in predefined positions. Developed over the 18th to 20th centuries, punched cards were widel ...
s
*
Bri Holt
*
Gerard Holzmann –
software verification Software verification is a discipline of software engineering, programming languages, and theory of computation whose goal is to assure that software satisfies the expected requirements.
Broad scope and classification
A broad definition of verif ...
, logic model checking (
SPIN)
*
John Hopcroft – compilers
* Admiral
Grace Hopper (1906–1992) – developed early compilers: FLOW-Matic,
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
; worked on
UNIVAC
UNIVAC (Universal Automatic Computer) was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and ...
; gave speeches on computer history, where she gave out
nano-seconds
*
Eric Horvitz –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
*
Alston Householder
*
Paul Hudak (1952–2015) –
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
language design, textbooks on it and
computer music
*
David A. Huffman (1925–1999) –
Huffman coding
In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code is Huffman coding, an algorithm developed by ...
, used in data compression
*
John Hughes – structuring computations with
arrows;
QuickCheck randomized program testing framework;
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
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
Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also ...
I
*
Jean Ichbiah –
Ada
*
Roberto Ierusalimschy –
Lua (programming language)
Lua is a lightweight, high-level, multi-paradigm programming language designed mainly for embedded use in applications. Lua is cross-platform software, since the interpreter of compiled bytecode is written in ANSI C, and Lua has a relati ...
*
Dan Ingalls –
Smalltalk
Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
,
BitBlt,
Lively Kernel
*
Mary Jane Irwin
*
Kenneth E. Iverson –
APL,
J
J
*
Ivar Jacobson –
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
,
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
*
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
Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
,
BSD UNIX,
vi,
csh
*
Dan Jurafsky – natural language processing
K
*
William Kahan –
numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
*
Robert E. Kahn –
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
*
Avinash Kak
Avinash C. Kak (born 1944) is a professor of Electrical and Computer Engineering at Purdue University who has conducted pioneering research in several areas of information processing. His most noteworthy contributions deal with algorithms, lang ...
–
digital image processing
*
Poul-Henning Kamp – invented
GBDE, FreeBSD Jails,
Varnish cache
*
David Karger
*
Richard Karp
Richard Manning Karp (born January 3, 1935) is an American computer scientist and computational theorist at the University of California, Berkeley. He is most notable for his research in the theory of algorithms, for which he received a Turin ...
–
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
ness
*
Narendra Karmarkar
Narendra Krishna Karmarkar (born 1956) is an Indian mathematician. He developed Karmarkar's algorithm. He is listed as an ISI highly cited researcher.
He invented one of the first probably polynomial time algorithms for linear programming, w ...
–
Karmarkar's algorithm
*
Marek Karpinski – NP optimization problems
*
Ted Kaehler –
Smalltalk
Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
,
Squeak
Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imaginee ...
,
HyperCard
HyperCard is a application software, software application and software development kit, development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web.
HyperCard com ...
*
Alan Kay
Alan Curtis Kay (born May 17, 1940) published by the Association for Computing Machinery 2012 is an American computer scientist who pioneered work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox ...
–
Dynabook,
Smalltalk
Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
, overlapping
windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
*
Neeraj Kayal –
AKS primality test
*
Manolis Kellis –
computational biology
Computational biology refers to the use of techniques in computer science, data analysis, mathematical modeling and Computer simulation, computational simulations to understand biological systems and relationships. An intersection of computer sci ...
*
John George Kemeny – the language
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
*
Ken Kennedy – compiling for parallel and vector machines
*
Brian Kernighan
Brian Wilson Kernighan (; born January 30, 1942) is a Canadian computer scientist.
He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known ...
(born 1942) –
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, the 'k' in
AWK
*
Carl Kesselman –
grid computing
Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished fro ...
*
Gregor Kiczales –
CLOS,
reflective programming
In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.
Historical background
The earliest computers were programmed in their native assembly lang ...
,
aspect-oriented programming
*
Logan Kilpatrick
*
Peter T. Kirstein – Internet
*
Stephen Cole Kleene –
Kleene closure
In mathematical logic and theoretical computer science, the Kleene star (or Kleene operator or Kleene closure) is a unary operation on a set to generate a set of all finite-length strings that are composed of zero or more repetitions of members ...
,
recursion theory
Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
*
Dan Klein –
Natural language processing
Natural language processing (NLP) is a subfield of computer science and especially artificial intelligence. It is primarily concerned with providing computers with the ability to process data encoded in natural language and is thus closely related ...
,
Machine translation
*
Leonard Kleinrock –
ARPANET
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the tec ...
,
queueing theory
Queueing theory is the mathematical study of waiting lines, or queues. A queueing model is constructed so that queue lengths and waiting time can be predicted. Queueing theory is generally considered a branch of operations research because th ...
,
packet switching
In telecommunications, packet switching is a method of grouping Data (computing), data into short messages in fixed format, i.e. ''network packet, packets,'' that are transmitted over a digital Telecommunications network, network. Packets consi ...
,
hierarchical routing
*
Donald Knuth
Donald Ervin Knuth ( ; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of comp ...
– ''
The Art of Computer Programming'',
MIX/
MMIX,
TeX
Tex, TeX, TEX, may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Tex Earnhardt (1930–2020), U.S. businessman
* Joe Tex (1933–1982), stage name of American soul singer ...
,
literate programming
*
Andrew Koenig –
C++
*
Daphne Koller –
Artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
,
bayesian network
*
Michael Kölling –
BlueJ
*
Andrey Nikolaevich Kolmogorov –
algorithmic complexity theory
*
Janet L. Kolodner –
case-based reasoning
*
David Korn –
KornShell
KornShell (ksh) is a Unix shell which was developed by David Korn (computer scientist), David Korn at Bell Labs in the early 1980s and announced at USENIX Annual Technical Conference, USENIX on July 14, 1983. The initial development was base ...
*
Kees Koster –
ALGOL 68
ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
*
Robert Kowalski –
logic programming
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
*
John Koza –
genetic programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection a ...
*
John Krogstie –
SEQUAL framework
*
Joseph Kruskal –
Kruskal's algorithm
*
Maarja Kruusmaa – underwater roboticist
*
D. Richard Kuhn - computer scientist
*
Thomas E. Kurtz (1928–2024) –
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
programming language; Dartmouth College computer professor
L
*
Richard E. Ladner
*
Monica S. Lam
*
Leslie Lamport –
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s for
distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
,
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
*
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
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
IFIP WG 2.1 member, advanced
lambda calculus
In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
to model
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s (aided
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
), denotational semantics
* Tom Lane (computer scientist), Tom Lane – Independent JPEG Group, PostgreSQL, Portable Network Graphics (PNG)
* Börje Langefors
* Hans Langmaack
* Chris Lattner – creator of Swift (programming language) and LLVM compiler infrastructure
* Steve Lawrence (computer scientist), Steve Lawrence
* Edward D. Lazowska
* Joshua Lederberg
* Manny M Lehman
* Charles E. Leiserson – cache-oblivious algorithms, provably good Cilk#Work-stealing, work-stealing, coauthor of Introduction to Algorithms
* Douglas Lenat –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, Cyc
* Yann LeCun
* Rasmus Lerdorf – PHP
* Max Levchin – Gausebeck–Levchin test and PayPal
* Leonid Levin –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
* Kevin Leyton-Brown –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
* J.C.R. Licklider
* David Liddle
* Jochen Liedtke –
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s Eumel, L3 microkernel, L3, L4 microkernel family, 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
ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
''
* Richard J. Lipton –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
* Barbara Liskov –
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s
* Yanhong Annie Liu –
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s,
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s, program design, program optimization, software systems, optimizing, analysis, and transformations, intelligent systems,
distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
,
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
,
IFIP WG 2.1 member
* Darrell Long – computer data storage,
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
* Patricia D. Lopez – broadening participation in computing
* Gillian Lovegrove
* Ada Lovelace – first programmer
* David Luckham –
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
, Automated theorem proving, Stanford
Pascal Verifier, Complex event processing, Rational Software cofounder (
Ada compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
)
* Eugene Luks
* Nancy Lynch
M
* Nadia Magnenat Thalmann –
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
, virtual actor
* Tom Maibaum
* George Mallen – creative computing, computer arts
* Simon Marlow –
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
developer, book author; co-developer: Glasgow Haskell Compiler, Haxl remote data access Library (computing), library
* Zohar Manna – fuzzy logic
* James Martin (author), 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
John William Mauchly ( ; August 30, 1907 – January 8, 1980) was an American physicist who, along with J. Presper Eckert, designed ENIAC, the first general-purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the f ...
(1907–1980) – designed
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
, first general-purpose electronic digital computer, and EDVAC, BINAC and UNIVAC I, the first commercial computer; worked with
Jean Bartik on
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
and Grace Murray Hopper on
UNIVAC
UNIVAC (Universal Automatic Computer) was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and ...
* Ujjwal Maulik (born 1965) Cluster analysis, multi-objective clustering and Bioinformatics
* Derek McAuley – ubiquitous computing,
computer architecture, networking
* Conor McBride – researches type theory,
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
; cocreated Epigram (programming language) with James McKinna; member IFIP Working Group 2.1 on Algorithmic Languages and Calculi
* John McCarthy (computer scientist), John McCarthy – Lisp (programming language),
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
IFIP WG 2.1 member,
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
* Andrew McCallum
* Douglas McIlroy – Macro (computer science), macros, pipes, Unix philosophy
* Chris McKinstry –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, Mindpixel
* Marshall Kirk McKusick –
BSD, Berkeley Fast File System
* Lambert Meertens –
ALGOL 68
ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
,
IFIP WG 2.1 member, ABC (programming language)
* Kurt Mehlhorn – algorithms, data structures, Library of Efficient Data types and Algorithms, LEDA
* Dora Metcalf – entrepreneur, engineer and mathematician
* Bertrand Meyer – Eiffel (programming language)
* Silvio Micali –
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
* Robin Milner – ML (programming language)
* Jack Minker – database logic
* Marvin Minsky –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, perceptrons, Society of Mind
* James G. Mitchell – WATFOR compiler, Mesa (programming language), Spring (operating system), ARM architecture
* Tom M. Mitchell
* Arvind (computer scientist), Arvind Mithal – formal verification of large digital systems, developing dynamic dataflow architectures,
parallel computing
Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s (Id, pH), compiling on parallel machines
* Paul Mockapetris – Domain Name System (DNS)
* Cleve Moler –
numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
, MATLAB
* Faron Moller – concurrency theory
* John P. Moon – inventor, Apple Inc.
* Charles H. Moore – Forth (programming language), Forth language
* Edward F. Moore – Moore machine
* Gordon Moore – Moore's law
* J Strother Moore – string searching,
ACL2 theorem prover
* Roger Moore (computer scientist), Roger Moore – co-developed
APL\360, created IPSANET, co-founded I. P. Sharp Associates
* Hans Moravec – robotics
* Carroll Morgan (computer scientist), Carroll Morgan –
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
* Robert Tappan Morris – Morris worm
* Joel Moses – Macsyma
* Rajeev Motwani – randomized algorithm
* Oleg A. Mukhanov –
quantum computing
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of wave-particle duality, both particles and waves, and quantum computing takes advantage of this behavior using s ...
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
In computer science, Backus–Naur form (BNF, pronounced ), also known as Backus normal form, is a notation system for defining the Syntax (programming languages), syntax of Programming language, programming languages and other Formal language, for ...
(BNF),
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
,
IFIP WG 2.1 member
* Roger Needham – computer security
* James G. Nell – Generalised Enterprise Reference Architecture and Methodology (GERAM)
* Greg Nelson (computer scientist), 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
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
programmer and control designer
* John von Neumann (1903–1957) – early computers, Von Neumann architecture, von Neumann machine, set theory, functional analysis, mathematics pioneer, linear programming, quantum mechanics
* Allen Newell –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, ''Computer Structures''
* Max Newman –
Colossus computer, MADM
* Andrew Ng –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
,
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, robotics
* Nils John Nilsson (1933–2019) –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
* 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), Theoretical Computer Science'' journal,
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
IFIP WG 2.1 member
* Jerre Noe – computerized banking
* Peter Nordin –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
,
genetic programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection a ...
, evolutionary robotics
* Donald Norman – user interfaces, usability
* Peter Norvig –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, 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
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of AL ...
,
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
O
* Martin Odersky – Scala (programming language), 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 (engineer), John O'Sullivan – Wi-Fi
* John Ousterhout – Tcl programming language
* Mark Overmars – video game programming
* Susan Owicki – interference freedom
P
* Larry Page – co-founder of
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
* Sankar Pal
* Paritosh Pandya
* Christos Papadimitriou
* Keshab K. Parhi
* David Park (computer scientist), David Park (1935–1990) – first
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
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 (computer scientist), David Patterson –
reduced instruction set computer (RISC), RISC-V, redundant arrays of inexpensive disks (RAID), Berkeley Network of Workstations (NOW)
* Mike Paterson –
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s, analysis of algorithms (complexity)
* Mihai Pătrașcu (computer scientist), Mihai Pătraşcu – data structures
* Lawrence Paulson –
ML
* Randy Pausch (1960–2008) –
human–computer interaction
Human–computer interaction (HCI) is the process through which people operate and engage with computer systems. Research in HCI covers the design and the use of computer technology, which focuses on the interfaces between people (users) and comp ...
, Carnegie professor, "Really Achieving Your Childhood Dreams, Last Lecture"
* Juan Pavón – software agents
* Judea Pearl –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, 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
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
, Glasgow Haskell Compiler, C--
* Kathy Pham – data, artificial intelligence, civic technology, healthcare, ethics
* Roberto Pieraccini – speech technologist, engineering director at Google
* Keshav K Pingali, Keshav Pingali – International Parallel and Distributed Processing Symposium#IEEE Computer Society Charles Babbage Award, IEEE Computer Society Charles Babbage Award, List of fellows of the Association for Computing Machinery, 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 Integrated development environment, 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
Computational biology refers to the use of techniques in computer science, data analysis, mathematical modeling and Computer simulation, computational simulations to understand biological systems and relationships. An intersection of computer sci ...
* William H. Press – numerical algorithms
R
* Rapelang Rabana
* Grzegorz Rozenberg – natural computing,
automata theory, Graph rewriting, graph transformations and Petri nets, concurrent systems
* Michael O. Rabin – nondeterministic machine
* Dragomir R. Radev – natural language processing,
information retrieval
Information retrieval (IR) in computing and information science is the task of identifying and retrieving information system resources that are relevant to an Information needs, information need. The information need can be specified in the form ...
* T. V. Raman – accessibility, Emacspeak
* Brian Randell –
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, software fault tolerance, dependability, pre-1950 history of computing hardware
* Anders P. Ravn – Duration Calculus
* Raj Reddy –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
* 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
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
* 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 (computer scientist), Martin Richards – Basic Combined Programming Language (BCPL)
* Adam Ries – advocate for Arabic numerals to replace Roman numerals
* C. J. van Rijsbergen
* Dennis Ritchie – C (programming language),
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
* Ron Rivest –
RSA, MD5, RC4
* Larry Roberts (computer scientist), Lawrence Roberts –
ARPANET
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the tec ...
program manager, Internet cofounder
* Paul Robertson (researcher) - AI researcher
* Ken Robinson (computer scientist), Ken Robinson –
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
* Colette Rolland – REMORA methodology, meta modelling
* John Romero – codeveloped
Doom
* Azriel Rosenfeld
* Douglas T. Ross – Automatically Programmed Tools (APT (programming language), APT), Computer-aided design, structured analysis and design technique, ALGOL X
* Ronald S. Ross - Computer Scientist
* 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
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
,
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
* Peter Ružička – Slovak
computer scientist
A computer scientist is a scientist who specializes in the academic study of computer science.
Computer scientists typically work on the theoretical side of computation. Although computer scientists can also focus their work and research on ...
and mathematician
S
* George Sadowsky
* Mehrnoosh Sadrzadeh – compositional models of meaning, machine learning
* Umar Saif
* Gerard Salton –
information retrieval
Information retrieval (IR) in computing and information science is the task of identifying and retrieving information system resources that are relevant to an Information needs, information need. The information need can be specified in the form ...
* Jean E. Sammet –
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s
* Claude Sammut –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
researcher
* Carl Sassenrath –
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s,
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, Amiga, REBOL
* Mahadev Satyanarayanan –
file systems, distributed systems, mobile computing, pervasive computing
* Walter Savitch – discovery of complexity class NL (complexity), NL, Savitch's theorem, natural language processing, mathematical linguistics
* Nitin Saxena – AKS primality test, AKS Primality test for polynomial time Primality test, primality testing,
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
* Jonathan Schaeffer
* Heidi Schelhowe
* 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 (computer scientist), Steve Schneider –
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
, 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 language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s,
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s,
distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
* Robert Sedgewick (computer scientist), Robert Sedgewick – algorithms, data structures
* Ravi Sethi – compilers, 2nd Compilers: Principles, Techniques, and Tools#Second edition, 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 (scientist), Shashi Shekhar – spatial computing
* Ben Shneiderman –
human–computer interaction
Human–computer interaction (HCI) is the process through which people operate and engage with computer systems. Research in HCI covers the design and the use of computer technology, which focuses on the interfaces between people (users) and comp ...
, information visualization
* Edward H. Shortliffe – MYCIN (medical diagnostic expert system)
* Daniel Siewiorek – electronic design automation, Reliability (computer networking), reliability computing, Context awareness, context aware mobile computing, wearable computing, computer-aided design, rapid prototyping, fault tolerance
* Joseph Sifakis – model checking
* Herbert A. Simon –
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
* Munindar P. Singh – multiagent systems,
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, 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
In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.
Historical background
The earliest computers were programmed in their native assembly lang ...
, 3lisp
* David Canfield Smith – invented Icon (computing), 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
Information retrieval (IR) in computing and information science is the task of identifying and retrieving information system resources that are relevant to an Information needs, information need. The information need can be specified in the form ...
, text analytics, multilingual text mining
* Sargur Srihari –
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
,
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, computational criminology, CEDAR-FOX
* Maciej Stachowiak – GNOME, Safari (web browser), Safari, WebKit
* Richard Stallman (born 1953) – GNU Project
* Ronald Stamper
* Thad Starner
* Richard E. Stearns –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
* Guy L. Steele, Jr. – Scheme (programming language), Scheme,
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
* Thomas Sterling (computing), Thomas Sterling – creator of Beowulf (computing), 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
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
,
high performance computing
* Christopher Strachey – denotational semantics
* Volker Strassen – Strassen algorithm, matrix multiplication, Schönhage–Strassen algorithm, integer multiplication, Solovay–Strassen primality test
* Bjarne Stroustrup –
C++
* Madhu Sudan –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
, coding theory
* Gerald Jay Sussman – Scheme (programming language), Scheme
* Bert Sutherland –
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
, Internet
* Ivan Sutherland –
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
: Sketchpad, Evans & Sutherland
* Latanya Sweeney – data privacy and algorithmic fairness
* Mario Szegedy –
complexity theory,
quantum computing
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of wave-particle duality, both particles and waves, and quantum computing takes advantage of this behavior using s ...
T
* Parisa Tabriz – Google Director of Engineering, also known as the Security Princess
* Roberto Tamassia – computational geometry,
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
* Andrew S. Tanenbaum –
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, MINIX
* Austin Tate – Artificial Intelligence Applications, Automated planning and scheduling, AI Planning, Virtual Worlds
* Bernhard Thalheim – conceptual modelling foundation
* Éva Tardos
* Gábor Tardos
* Robert Tarjan – splay tree
* Valerie Taylor (computer scientist), 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
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
, virtual actor
* Ken Thompson – mainly designed and authored
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, Plan 9 from Bell Labs, Plan 9 and Inferno (operating system), Inferno operating systems, B (programming language), B and Bon languages (precursors of C (programming language), C), created UTF-8 character encoding, introduced regular expressions in QED (text editor), QED, co-authored
Go language
* Simon Thompson (professor), Simon Thompson –
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
research, textbooks; Cardano (blockchain platform), Cardano domain-specific languages: Cardano (blockchain platform)#Decentralized finance, Marlowe
* Sebastian Thrun – AI researcher, pioneered autonomous driving
* Walter F. Tichy – RCS
* Seinosuke Toda – computational 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,
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s, cryptology,
computer architecture
* David Turner (computer scientist), David Turner – SASL (programming language), SASL, Kent Recursive Calculator, Miranda (programming language), Miranda,
IFIP WG 2.1 member
* Murray Turoff – computer-mediated communication
U
* Jeffrey D. Ullman – compilers, databases, complexity theory
V
* Leslie Valiant –
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
, computational learning theory
* Vladimir Vapnik –
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
, computational learning theory
* Moshe Vardi – professor of computer science at Rice University
* Dorothy Vaughan
* Bernard Vauquois – pioneered
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
in France,
machine translation (MT) theory and practice including ''Bernard Vauquois#Vauquois triangle, Vauquois triangle'',
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
* 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 – Auxiliary memory, external memory algorithms, compressed data structures, data compression,
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
s
* 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 A. Wagner, David Wagner – security,
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
* David Waltz
* James Z. Wang
* Steve Ward (computer scientist), Steve Ward
* Manfred K. Warmuth – computational learning theory
* David H. D. Warren – AI,
logic programming
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
,
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
, Warren Abstract Machine (WAM)
* Kevin Warwick – artificial intelligence
* Jan Weglarz
* Philip Wadler –
functional programming
In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
,
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, Monad (functional programming), Monad,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
logic
Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the study of deductively valid inferences or logical truths. It examines how conclusions follow from premises based on the structure o ...
* Peter Wegner (computer scientist), Peter Wegner –
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
, interaction (computer science)
* Joseph Henry Wegstein – ALGOL 58,
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
,
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 (computer scientist), David Wheeler – EDSAC, subroutines
* Franklin H. Westervelt – use of computers in engineering education, conversational use of computers,
Michigan Terminal System (MTS),
ARPANET
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the tec ...
, 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
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
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
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
* Sophie Wilson – ARM architecture
* Shmuel Winograd – Coppersmith–Winograd algorithm
* Terry Winograd – artificial intelligence, SHRDLU
* Patrick Winston – artificial intelligence
*
Niklaus Wirth
Niklaus Emil Wirth ( IPA: ) (15 February 1934 – 1 January 2024) was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Tu ...
– ALGOL W,
IFIP WG 2.1 member,
Pascal, Modula,
Oberon
Oberon () is a king of the fairy, fairies in Middle Ages, medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania ...
* Neil Wiseman – computer graphics
* Dennis E. Wisnosky – Integrated Computer-Aided Manufacturing (ICAM), IDEF
* Stephen Wolfram – Mathematica
* Mike Woodger – Pilot ACE,
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, Ada (programming language)
* Philip Woodward – ambiguity function, sinc function, Dirac comb, 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), Hydra
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
, Tartan Laboratories
Y
* Mihalis Yannakakis
* Andrew Chi-Chih Yao
* John Yen
* Nobuo Yoneda – Yoneda lemma, Yoneda product,
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
,
IFIP WG 2.1 member
* Edward Yourdon – Structured Systems Analysis and Design Method
* Moti Yung
Z
* Lotfi Zadeh – fuzzy logic
* Hans Zantema – termination analysis
* Arif Zaman – pseudo-random number generator
* Stanley Zdonik — database management systems
* Hussein Zedan –
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
and real-time systems
* Shlomo Zilberstein – artificial intelligence, anytime algorithms, automated planning, and decentralized partially observable Markov decision process, 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
* 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
External links
CiteSeer list of the most cited authors in computer science
{{DEFAULTSORT:Computer Scientists, List Of
Lists of computer scientists,
Computer scientists, *
Lists of people by occupation