HOME

TheInfoList



OR:

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 Aalstbusiness 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 AdlemanRSA, 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. Allencompiler 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 BackusFortran,
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 BarrSAS, 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. Bauerstack (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. Bernsteinqmail, software as protected speech * Peter Bernus * Abhay Bhushan * Dines BjørnerVienna 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 BosCascading 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 BowenZ 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. BourneBourne 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. Brownunified 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 Burnettvisual 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 ButlerEvent-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 Campwireless computing * Martin Campbell-Kellyhistory 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 Caspersenprogramming 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 Chaochenduration calculus * Peter Chenentity-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. Clarkemodel checking * John Cockereduced 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 Coltoncomputational 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 ComerXinu * Paul Justin ComptonRipple-down rules * Richard W. ConwayCORC, 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 Cousotabstract interpretation * Ingemar Coxdigital watermarking * Damien Coylecomputational 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 CrayCray 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 DasWireless 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 DeanBigtable, MapReduce, Spanner of Google * Erik Demainecomputational 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 DewarIFIP 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 DhamP5
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 Dorigoant colony optimization * Paul Dourishhuman 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 Eadesgraph 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 Engelhardtlatent 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 EtzioniMetaCrawler, 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 FloydNP-completeness * Sally Floyd – Internet congestion control * Lawrence J. Fogelevolutionary 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 FayedPWCT, 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 Fukushimaneocognitron,
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 Gibbonsgeneric 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. Gilberthuman-centered computing * Lee GilesCiteSeer * 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 Golumbicalgorithmic 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 GreibachGreibach 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 GriesemerGo 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 Gruberontology 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. Gunthercomputer 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 GuyPhoenix, 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. HallApollo 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 Harrismachine 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 Hattonsoftware failure and vulnerabilities * Igor Hawryszkiewycz (born 1948) – American computer scientist and organizational theorist * He Jifengprovably correct systems * Eric Hehnerpredicative 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. Hennessycomputer architecture * Andrew Herbert * Carl Hewitt * Kelsey Hightower – open source, cloud computing * Danny HillisConnection 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 IchbiahAda * 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. IversonAPL, 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 JonesVienna 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 KayalAKS 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 KiczalesCLOS,
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 KoenigC++ * 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öllingBlueJ * Andrey Nikolaevich Kolmogorovalgorithmic complexity theory * Janet L. Kolodnercase-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 KrogstieSEQUAL framework * Joseph KruskalKruskal'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 LampsonSDS 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