Our HeroesWho Inspired Us

Steve Jobs

Personal computing, mobile devices, user interface design

Aaron Swartz

Co-authoring RSS 1.0; inventing Markdown; co-founding Reddit; founding Demand Progress and Rootstrikers; campaigning for open access to academic research.

Fatima al-Fihriya

Founding the al-Qarawiyyin Mosque in 857–859 CE, which developed into the University of al-Qarawiyyin, the world’s oldest continuously operating educational institution.

Tim Berners-Lee

Inventing the World Wide Web; creating HTTP, HTML, URIs, and the first web browser and server.

Alan Turing

Turing machine, foundations of computer science theory, cryptanalysis

John von Neumann

Von Neumann architecture, quantum mechanics, self-replicating machines

Grace Hopper

Compiler development, COBOL programming language

Donald Knuth

Analysis of algorithms, TeX typesetting system

Yoshua Bengio

Deep learning, neural networks

Geoffrey Hinton

Deep learning, backpropagation algorithm refinement

Ada Lovelace

First computer algorithm

Claude Shannon

Information theory, digital circuit design

Yann LeCun

Convolutional neural networks, computer vision

Andrew Ng

Machine learning education, deep learning applications

Edsger W. Dijkstra

Algorithms, programming language theory, structured programming

Demis Hassabis

Artificial general intelligence, reinforcement learning

Margaret Hamilton

Software engineering, onboard flight software for Apollo missions

Linus Torvalds

Linux kernel, Git version control system

Fei-Fei Li

Computer vision, ImageNet dataset

Dennis Ritchie

C programming language, Unix operating system

Barbara Liskov

Programming language design, distributed computing

Vint Cerf

TCP/IP protocols, Internet architecture

Leslie Lamport

Distributed systems theory, formal verification

Ken Thompson

Unix operating system, B programming language, UTF-8 encoding

Charles Babbage

Difference Engine, Analytical Engine (early mechanical computers)

Judea Pearl

Bayesian networks, causal inference, artificial intelligence

Bjarne Stroustrup

C++ programming language

Robert E. Kahn

TCP/IP protocols, Internet architecture

John McCarthy

Artificial intelligence, Lisp programming language

Marvin Minsky

Artificial intelligence, cognitive science

Frances E. Allen

Compiler optimization, parallel computing

Raj Reddy

Artificial intelligence, speech recognition

James Gosling

Java programming language

Richard Stallman

Free software movement, GNU Project

Edgar F. Codd

Relational database model

Michael Stonebraker

Database systems, PostgreSQL

Guido van Rossum

Python programming language

Whitfield Diffie

Public-key cryptography

Martin Hellman

Public-key cryptography

Tim Cook

Technology industry leadership, mobile computing

Satya Nadella

Cloud computing, artificial intelligence strategy

Andrej Karpathy

Deep learning, computer vision, self-driving technology

Shafi Goldwasser

Cryptography, computational complexity theory

Silvio Micali

Cryptography, blockchain technology

Ivan Sutherland

Computer graphics, graphical user interfaces

Daphne Koller

Machine learning, probabilistic models, computational biology

Sundar Pichai

Search technology, mobile operating systems, AI integration

Jensen Huang

Graphics processing units (GPUs), accelerated computing

Richard Hamming

Error-correcting codes, numerical methods

Peter Norvig

Artificial intelligence, search algorithms

Stuart Russell

Artificial intelligence, AI safety

John Hennessy

Computer architecture, RISC processors

David Patterson

Computer architecture, RISC processors

Ilya Sutskever

Deep learning, neural networks

Sam Altman

AI research and policy, technology entrepreneurship

Hal Abelson

Computer science education, symbolic computation

Gerald Jay Sussman

Artificial intelligence, programming languages

Larry Page

Search algorithms, web indexing

Sergey Brin

Search algorithms, web indexing

Niklaus Wirth

Programming languages, compiler design

Steve Wozniak

Personal computer design, Apple I and Apple II

Seymour Papert

Artificial intelligence, educational computing

Stephen Wolfram

Computational systems, symbolic computation

Gordon Moore

Semiconductor technology, Moore's Law

Shwetak Patel

Ubiquitous computing, sensor systems

J.C.R. Licklider

Interactive computing, Internet precursor (ARPANET)

Mark Zuckerberg

Social networking, virtual reality

Sophie Wilson

ARM architecture, processor design

Rosalind Picard

Affective computing, wearable technology

Ron Rivest

Cryptography, RSA algorithm

Adi Shamir

Cryptography, RSA algorithm

Leonard Adleman

Cryptography, DNA computing

Alonzo Church

Lambda calculus, computability theory

Robin Milner

Programming language theory, process calculi

Rodney Brooks

Robotics, behavior-based artificial intelligence

John Carmack

Graphics engines, virtual reality technology

Maurice Wilkes

Stored-program computer, microprogramming

Andrew S. Tanenbaum

Operating systems, computer networks

Amit Singhal

Information retrieval, search algorithms

Tony Hoare

Program verification, concurrent systems

Corinna Cortes

Machine learning, support vector machines

Jack Dorsey

Social media platforms, mobile payments

Mary Lou Jepsen

Display technology, optical systems

Marc Andreessen

Web browser development, technology venture capital

John Hopfield

Neural networks, associative memory

Jeannette Wing

Computational thinking, formal methods

John Backus

FORTRAN programming language, formal systems

Radia Perlman

Network protocols, routing algorithms

Brendan Eich

JavaScript programming language

Katie Bouman

Computational imaging, black hole visualization

Hedy Lamarr

Frequency-hopping spread spectrum technology

Brian Kernighan

Unix development, programming languages

Edwin Catmull

Computer graphics, animation algorithms

Carol Shaw

Video game development, graphics programming

Andrew Chi-Chih Yao

Computational complexity, quantum computing

Frederick Brooks

Software engineering principles, computer architecture

Ray Kurzweil

Pattern recognition, technological forecasting

Jaron Lanier

Virtual reality, digital humanism

Rasmus Lerdorf

PHP programming language

John Mauchly

ENIAC computer, first general-purpose electronic computer

J. Presper Eckert

ENIAC computer, first general-purpose electronic computer

Ted Nelson

Hypertext, Project Xanadu

Thomas J. Watson

IBM leadership, business computing

Anders Hejlsberg

C#, TypeScript programming languages

Guy L. Steele

Scheme, Common Lisp programming languages

Leonard Kleinrock

Packet switching theory, ARPANET

Yukihiro Matsumoto

Ruby programming language

Douglas Engelbart

Computer mouse, hypertext, early GUI

Adele Goldberg

Smalltalk programming language, object-oriented programming

Karen Spärck Jones

Information retrieval, inverse document frequency

Herbert A. Simon

Artificial intelligence, decision-making processes

Butler Lampson

Personal distributed computing, security principles

Noam Chomsky

Formal language theory, Chomsky hierarchy

Ray Ozzie

Lotus Notes, collaborative software

Robert Metcalfe

Ethernet technology, Metcalfe's Law

Shigeru Miyamoto

Video game design, interactive entertainment

Danny Hillis

Parallel computing, Connection Machine

Joseph Sifakis

Model checking, formal verification

Edmund M. Clarke

Model checking, formal verification

E. Allen Emerson

Model checking, formal verification

Alan Kay

Object-oriented programming, Smalltalk, GUI principles

Manuel Blum

Computational complexity theory, cryptography

Lenore Blum

Theory of computation, algebraic complexity theory

Avie Tevanian

Mach kernel, macOS development

Jeff Bezos

E-commerce, cloud computing services

Richard Karp

Algorithm analysis, computational complexity theory

Anita Borg

Computing gender gap advocacy, Systers network

Ivan Sutherland

Computer graphics, Sketchpad

Joseph Weizenbaum

ELIZA program, AI ethics

Christos Papadimitriou

Computational complexity theory, algorithmic game theory

Larry Wall

Perl programming language

John Cocke

RISC architecture, compiler optimization

Sally Floyd

Internet congestion control algorithms

Scott Shenker

Internet architecture, software-defined networking

Charles P. Thacker

Personal computer hardware, Ethernet

David Chaum

Digital currency, anonymous communication

Abraham Lempel

Lempel-Ziv data compression algorithms

Jacob Ziv

Lempel-Ziv data compression algorithms

Terry Winograd

Natural language processing, human-computer interaction

John Warnock

PostScript, PDF, desktop publishing

Chuck Thacker

Personal computing, Ethernet, tablet computing

Bill Joy

Berkeley Unix, vi editor, Java language

Susan Kare

Computer iconography, graphical user interface design

Pattie Maes

Artificial intelligence, human-computer interaction

Michael I. Jordan

Machine learning, probabilistic models

Anil K. Jain

Pattern recognition, biometric systems

Jiawei Han

Data mining, text mining

Ben Shneiderman

Human-computer interaction, information visualization

Philip S. Yu

Data mining, big data analytics

Bruce Schneier

Cryptography, computer security

Scott Aaronson

Quantum computing theory, computational complexity

Julia Robinson

Decision problems, Hilbert's tenth problem

William Kahan

Floating-point computation, IEEE 754 standard

Lixia Zhang

Internet architecture, named data networking

Claude Shannon

Information theory, digital circuit design

Grace Murray Hopper

COBOL language, compiler development

Sergey Brin

Search algorithms, Google founding

Larry Page

PageRank algorithm, Google founding

Katherine Johnson

Orbital mechanics calculations, space mission planning

Jon Kleinberg

Network analysis, information networks

John Markoff

Technology journalism, AI and computing history

Steve Russell

Spacewar!, first video game

Nolan Bushnell

Video game industry, Atari founding

Eric Schmidt

Internet services, Google leadership

Megan Smith

Technology policy, diversity in tech

Larry Ellison

Relational database technology, Oracle

Michael Dell

Personal computer manufacturing, direct-sales model

Ginni Rometty

Enterprise computing, AI business applications

Safra Catz

Enterprise software leadership, cloud computing

Bill Gates

Personal computing software, operating systems

Thomas Kurtz

BASIC programming language

John Kemeny

BASIC programming language

Jean E. Sammet

FORMAC programming language, programming language history

Edward Feigenbaum

Expert systems, knowledge engineering

Stephen Cook

Computational complexity theory, NP-completeness

Leonid Levin

Computational complexity theory, NP-completeness

Scott Fahlman

Common Lisp, first digital emoticon

Nicholas Negroponte

Digital media, One Laptop per Child

Vinod Dham

Pentium processor, semiconductor innovation

Stewart Brand

Whole Earth Catalog, early digital communities

Steve Furber

ARM processor architecture, neural engineering

Wes Clark

LINC personal computer, TX-2 computer

Herbert Simon

Artificial intelligence, decision-making theories

Allen Newell

Artificial intelligence, cognitive architecture

John Holland

Genetic algorithms, complex adaptive systems

Michael Stonebraker

Database systems, PostgreSQL, relational database technology

Cleve Moler

MATLAB, numerical computing

Mitch Kapor

Lotus 1-2-3, spreadsheet software

Bob Frankston

VisiCalc, first spreadsheet program

Dan Bricklin

VisiCalc, first spreadsheet program

Vannevar Bush

Memex concept, hypertext precursor

Ed Catmull

Computer animation, Pixar founding

Pat Hanrahan

Computer graphics, rendering algorithms, visualization

Robert Taylor

ARPANET, personal computing research

John Kemeny

BASIC programming language, time-sharing systems

Jim Gray

Database transaction processing, database systems

Grady Booch

Unified Modeling Language (UML), object-oriented design

Ivar Jacobson

Use cases, Unified Modeling Language (UML)

James Rumbaugh

Object-oriented modeling, Unified Modeling Language (UML)

Erich Gamma

Design patterns, Eclipse IDE

Ralph Johnson

Design patterns, software architecture

Richard Helm

Design patterns, object-oriented design

John Vlissides

Design patterns, software engineering methodology

Doug Cutting

Hadoop, Apache Lucene, big data processing

Jeff Dean

Large-scale distributed systems, machine learning infrastructure

Sanjay Ghemawat

Distributed file systems, MapReduce programming model

Linus Torvalds

Linux kernel, Git version control system

John Canny

Computer vision algorithms, robotics

Shwetak Patel

Ubiquitous computing, low-power sensing

Butler Lampson

Personal distributed computing, security principles

Cynthia Dwork

Differential privacy, cryptography

Whitfield Diffie

Public-key cryptography, internet security

Martin Hellman

Public-key cryptography, cryptographic protocols

Ralph Merkle

Public-key cryptography, cryptographic hashing

Ronald Rivest

RSA algorithm, cryptographic protocols

Adi Shamir

RSA algorithm, cryptanalysis

Leonard Adleman

RSA algorithm, DNA computing

Whitfield Diffie

Public-key cryptography, Diffie-Hellman key exchange

Danny Hillis

Parallel computing, Connection Machine

Steve Mann

Wearable computing, augmented reality

Rodney Brooks

Robotics, behavior-based artificial intelligence

Bob Frankston

VisiCalc spreadsheet, home networking

Dan Bricklin

VisiCalc spreadsheet, first electronic spreadsheet

Peter Chen

Entity-relationship model, database design

David Evans

Computer graphics, UTAH-designed graphical systems

Roy Fielding

HTTP protocol, REST architectural style

Dennis Ritchie

C programming language, Unix operating system

Ken Thompson

Unix operating system, B programming language

Bill Gates

Microcomputer software, operating systems

Paul Allen

Microsoft founding, personal computing

Steve Wozniak

Apple I and II computers, personal computing hardware

Larry Ellison

Relational database systems, enterprise software

Mitch Kapor

Lotus 1-2-3, software design

Len Bosack

Internet routing, Cisco Systems founding

Sandy Lerner

Internet routing, Cisco Systems founding

Gordon Moore

Integrated circuits, Moore's Law

Robert Noyce

Integrated circuit, semiconductor industry

Andy Grove

Semiconductor manufacturing, business leadership

Jack Kilby

Integrated circuit, handheld calculator

Carver Mead

VLSI design, neuromorphic engineering

Lynn Conway

VLSI microprocessor design, MOSIS system

Federico Faggin

Microprocessor implementation, touch interface technology

Marcian Hoff

Microprocessor architecture, Intel 4004

Ted Hoff

First microprocessor design, Intel 4004

Stanley Mazor

Microprocessor architecture, Intel 4004

John Crawford

x86 architecture, microprocessor design

Dave Cutler

Operating systems, Windows NT

Jim Keller

Microprocessor design, x86 and ARM architectures

Sophie Wilson

ARM architecture, instruction set design

Steve Furber

ARM processor, low-power computing

John Hennessy

RISC architecture, computer architecture education

David Patterson

RISC architecture, computer architecture education

Bob Metcalfe

Ethernet, networking technology

Marc Andreessen

Mosaic web browser, Netscape Navigator

James H. Clark

Computer graphics, Netscape, Silicon Graphics

Louis Pouzin

Datagram networking, influence on TCP/IP

Donald Davies

Packet switching, network architecture

Paul Baran

Packet switching networks, digital communications

Ray Tomlinson

Email systems, @ symbol in addresses

Jon Postel

Internet protocols, DNS administration

Ted Nelson

Hypertext concept, Project Xanadu

Lee Felsenstein

Personal computing, community technology

Bob Kahn

TCP/IP protocols, Internet architecture

Robert M. Metcalfe

Ethernet, local area networking

Charles Simonyi

Microsoft Office applications, intentional programming

Vinton G. Cerf

TCP/IP protocols, Internet architecture

Tim Paterson

MS-DOS operating system

Gary Kildall

CP/M operating system, programming tools

Bjarne Stroustrup

C++ programming language

Anders Hejlsberg

Turbo Pascal, C#, TypeScript languages

Larry Wall

Perl programming language

Guido van Rossum

Python programming language

Yukihiro Matsumoto

Ruby programming language

James Gosling

Java programming language

Brendan Eich

JavaScript programming language

Rasmus Lerdorf

PHP programming language

Martin Odersky

Scala programming language, Java generics

Niklaus Wirth

Pascal, Modula programming languages

Joe Armstrong

Erlang programming language

Rich Hickey

Clojure programming language

Bram Cohen

BitTorrent protocol, distributed computing

Ryan Dahl

Node.js, Deno runtime

Roy Fielding

HTTP specification, REST architectural style

Håkon Wium Lie

CSS (Cascading Style Sheets)

Bert Bos

CSS specifications and standards

Jeffrey Ullman

Compiler design, database systems theory

Alfred Aho

Compiler design, search algorithms

Monica Lam

Compiler optimization, program analysis

Ravi Sethi

Compiler design, programming languages

Leonardo da Vinci

Early mechanical calculator concepts

Blaise Pascal

Pascaline mechanical calculator

Gottfried Wilhelm Leibniz

Binary number system, mechanical calculator

Joseph Marie Jacquard

Programmable loom, punch card concept

George Boole

Boolean algebra, binary logic

Herman Hollerith

Punch card data processing, tabulating machine

Konrad Zuse

Z3 programmable computer, Plankalkül language

Howard Aiken

Harvard Mark I computer

George Stibitz

Bell Labs relay computers, remote computing

Presper Eckert

ENIAC, UNIVAC computers

John Mauchly

ENIAC, UNIVAC computers

John Atanasoff

Atanasoff–Berry Computer, electronic digital computing

Clifford Berry

Atanasoff–Berry Computer design and engineering

Tommy Flowers

Colossus computer, electronic switching

Max Newman

Colossus project, computing theory

Ivan Sutherland

Sketchpad, computer graphics, virtual reality

Douglas Engelbart

Computer mouse, hypertext, interactive computing

Ted Nelson

Hypertext concept, Project Xanadu

Ray Tomlinson

Email, @ symbol for addresses

Seymour Cray

Supercomputer design, vector processing

John Backus

FORTRAN programming language, function-level programming

Peter Naur

ALGOL 60, Backus-Naur Form

Brian Kernighan

Unix, C programming language documentation

Edsger W. Dijkstra

Structured programming, algorithms, concurrent programming

Donald Knuth

Analysis of algorithms, TeX typesetting system

Tony Hoare

Quicksort algorithm, formal verification methods

Edgar F. Codd

Relational database model

Adele Goldberg

Smalltalk programming environment, object-oriented programming

Alan Kay

Object-oriented programming, Smalltalk, graphical user interfaces

Dan Ingalls

Smalltalk implementation, BitBlt algorithm

John McCarthy

Lisp programming language, artificial intelligence

Marvin Minsky

Artificial intelligence, neural networks, frames

Terry Winograd

Natural language processing, human-computer interaction

Patrick Winston

Artificial intelligence, machine learning

Gerald Sussman

Artificial intelligence, programming language design

Guy L. Steele

Scheme, Common Lisp programming languages

Fernando J. Corbató

Time-sharing operating systems, Multics

Ken Thompson

Unix operating system, Go programming language

Dennis Ritchie

C programming language, Unix operating system

Niklaus Wirth

Pascal, Modula, Oberon programming languages

John Warnock

PostScript, PDF, Adobe Systems

Charles Geschke

PostScript, PDF, Adobe Systems

John Carmack

3D game engines, virtual reality technology

Hedy Lamarr

Frequency-hopping spread spectrum technology

Claude Shannon

Information theory, digital circuit design

Vannevar Bush

Differential analyzer, Memex concept

Robin Milner

ML programming language, process calculi

Barbara Liskov

Programming language design, distributed computing

Leslie Lamport

Distributed systems, temporal logic, LaTeX

Ken Iverson

APL programming language, array programming

David Parnas

Software engineering methodology, information hiding

John Lions

Unix commentary, operating systems education

John Nash

Game theory, Nash equilibrium

Steven Wolfram

Cellular automata, Mathematica, computational theory

Bill Atkinson

MacPaint, HyperCard, graphical user interfaces

Andy Hertzfeld

Macintosh operating system, open source software

Mary Allen Wilkes

LINC operating system, first home computer user

Lynn Conway

VLSI design methodology, generalized dynamic instruction handling

Carver Mead

VLSI design, neuromorphic engineering

Mark Dean

IBM PC architecture, ISA system bus

Jean Bartik

ENIAC programming, early software development

Karen Spärck Jones

Information retrieval, natural language processing

Fran Allen

Compiler optimization, parallel computing

Katherine Johnson

Spacecraft trajectory calculations, numerical analysis

Annie Easley

Rocket science software, energy research

Evelyn Boyd Granville

Orbital computation, digital computer techniques

J.H. Wilkinson

Numerical analysis, rounding error analysis

Dana Scott

Denotational semantics, domain theory

Christopher Strachey

Programming language semantics, compiler design

Peter Landin

Functional programming theory, ISWIM language

John Reynolds

Programming language theory, polymorphism

Manuel Blum

Computational complexity theory, cryptography

Robert Tarjan

Graph algorithms, data structures

Leslie Valiant

Machine learning theory, computational complexity

Azriel Rosenfeld

Computer vision, digital image analysis

Pat Hanrahan

Computer graphics, rendering algorithms

Dabbala Rajagopal Reddy

Speech recognition, robotics

Peter Naur

Compiler design, programming theory

Christos Papadimitriou

Computational complexity, algorithmic game theory

Sally Floyd

Internet congestion control, network protocols

Deborah Estrin

Embedded networking, environmental sensing

Scott Shenker

Internet architecture, software-defined networking

Joseph Sifakis

Model checking, formal verification

Edmund Clarke

Model checking, formal verification

Randy Pausch

Virtual reality, human-computer interaction

Ward Cunningham

Wiki concept, software patterns

Lixia Zhang

Internet architecture, named data networking

Richard Greenblatt

Lisp Machine, computer chess

Tom Knight

Lisp machines, synthetic biology

Jef Raskin

Macintosh project, human interface design

Andries van Dam

Computer graphics, hypertext systems

Ed Fredkin

Digital physics, reversible computing

Corrado Böhm

Structured programming, lambda calculus

Giuseppe Jacopini

Structured programming, Böhm-Jacopini theorem

J. Storrs Hall

Molecular nanotechnology, utility fog concept

Jack Dongarra

High-performance computing, linear algebra software

Geoffrey Hinton

Deep learning, backpropagation, neural networks

Yoshua Bengio

Deep learning, neural networks, representation learning

Yann LeCun

Convolutional neural networks, computer vision

Juergen Schmidhuber

Long short-term memory networks, meta-learning

Fei-Fei Li

Computer vision, ImageNet dataset

Andrew Ng

Deep learning, online education in AI

Ian Goodfellow

Generative adversarial networks (GANs)

Demis Hassabis

Deep reinforcement learning, AlphaGo

David Silver

Reinforcement learning, AlphaGo algorithms

Andrew Zisserman

Computer vision, visual geometry

David Lowe

SIFT algorithm, object recognition

Daphne Koller

Probabilistic models, computational biology

Michael I. Jordan

Machine learning, probabilistic graphical models

Trevor Hastie

Statistical learning, data mining

Robert Tibshirani

Statistical learning, LASSO method

Jerome Friedman

Data mining, CART algorithm

Vladimir Vapnik

Statistical learning theory, support vector machines

Bernhard Schölkopf

Kernel methods, support vector machines

Alex Krizhevsky

Deep learning for image recognition, AlexNet

Ilya Sutskever

Deep learning, sequence to sequence learning

Jeff Dean

Large-scale distributed systems, TensorFlow

Tom Mitchell

Machine learning, version spaces

Hiroaki Kitano

Robotic systems, systems biology

Ross Quinlan

Decision tree algorithms, C4.5 algorithm

Leo Breiman

Random forests, statistical learning

Judea Pearl

Bayesian networks, causal inference

Kevin Murphy

Probabilistic machine learning, graphical models

Andrey Markov

Markov chains, stochastic processes

David Blei

Topic modeling, Latent Dirichlet Allocation

Christopher Bishop

Pattern recognition, neural networks

John Platt

Sequential minimal optimization, machine learning algorithms

Tomaso Poggio

Computational neuroscience, machine learning theory

Richard Bellman

Dynamic programming, Bellman equation

Arthur Samuel

Computer checkers, machine learning concept

Leslie Kaelbling

Reinforcement learning, robotics

Andrew Barto

Reinforcement learning theory

Richard Sutton

Reinforcement learning, temporal difference learning

Stuart Russell

Artificial intelligence, AI safety

Peter Norvig

Artificial intelligence, search algorithms

Sebastian Thrun

Autonomous vehicles, online education

Kunihiko Fukushima

Neocognitron, visual pattern recognition

Hans Moravec

Robotics, artificial intelligence

Ray Kurzweil

OCR technology, AI forecasting

Douglas Hofstadter

Cognitive science, consciousness theory

Rodney Brooks

Robotics, behavior-based AI

Cynthia Breazeal

Social robotics, human-robot interaction

Takeo Kanade

Computer vision, robotics

Raquel Urtasun

Computer vision, autonomous vehicles

Alex Pentland

Social physics, wearable computing

Rosalind Picard

Affective computing, emotion recognition

Patrick Winston

Artificial intelligence, knowledge representation

Ruzena Bajcsy

Robotics, computer vision, medical imaging

Maja Mataric

Robotics, human-robot interaction

Chad Jenkins

Robot learning, human-robot interaction

Marc Raibert

Legged robots, dynamic balance

Rod Brooks

Behavior-based robotics, subsumption architecture

Daniela Rus

Reconfigurable robotics, distributed robotics

John Hopfield

Neural networks, Hopfield network

David Marr

Computational neuroscience, vision processing

Terrence Sejnowski

Neural networks, computational neuroscience

Stephen Grossberg

Neural networks, adaptive resonance theory

Gail Carpenter

Neural networks, adaptive resonance theory

Teuvo Kohonen

Self-organizing maps, associative memory

Christof Koch

Neural basis of consciousness, computational neuroscience

Carver Mead

Neuromorphic engineering, analog VLSI

Federico Faggin

Microprocessor design, neural chip technology

Leon Chua

Memristor, cellular neural networks

Jim Gray

Database systems, transaction processing

Michael Stonebraker

Database management systems, PostgreSQL

Patricia Selinger

Database query optimization, System R

Rudolf Bayer

B-tree data structure, database indexing

C. Mohan

Database transaction processing, ARIES algorithm

David DeWitt

Parallel database systems, database benchmarks

Philip Bernstein

Database transaction processing, data management

Jeffrey Ullman

Database theory, compiler construction

Jennifer Widom

Database systems, data management

H. V. Jagadish

Database systems, big data management

Hector Garcia-Molina

Distributed databases, digital libraries

Alon Halevy

Data integration, structured data on the web

Jeffrey Naughton

Database systems, data management

Raghu Ramakrishnan

Database systems, data mining

Joseph Hellerstein

Database systems, declarative networking

Samuel Madden

Database systems, mobile data management

Gio Wiederhold

Database management, knowledge-based systems

James Hamilton

Cloud infrastructure, database architecture

Andy Pavlo

Database systems, transaction processing systems

Pat Helland

Distributed systems, transaction processing

James Larus

Programming languages, computer architecture

Bjarne Stroustrup

C++ programming language

Guido van Rossum

Python programming language

Anders Hejlsberg

C#, TypeScript programming languages

James Gosling

Java programming language

Brendan Eich

JavaScript programming language

Larry Wall

Perl programming language

Martin Odersky

Scala programming language

Rich Hickey

Clojure programming language

Yukihiro Matsumoto

Ruby programming language

Rasmus Lerdorf

PHP programming language

Roberto Ierusalimschy

Lua programming language

Joe Armstrong

Erlang programming language

John Backus

FORTRAN programming language

Alex Stepanov

C++ Standard Template Library (STL)

Robert Griesemer

Go programming language

Rob Pike

Go programming language, Unix tools

Ken Thompson

Unix, Go programming language

Graydon Hoare

Rust programming language

Chris Lattner

LLVM compiler infrastructure, Swift language

Walter Bright

D programming language

Bertrand Meyer

Eiffel programming language, design by contract

Xavier Leroy

OCaml programming language, compiler verification

Simon Peyton Jones

Haskell programming language, functional programming

Philip Wadler

Functional programming, type systems

Gilad Bracha

Java generics, Newspeak language

Jeremy Ashkenas

CoffeeScript, Backbone.js

Ryan Dahl

Node.js, Deno

Evan You

Vue.js framework

Jordan Walke

React.js framework

David Heinemeier Hansson

Ruby on Rails framework

Rod Johnson

Spring framework for Java

Taylor Otwell

Laravel PHP framework

Miguel de Icaza

GNOME desktop environment, Mono project

Linus Torvalds

Linux kernel, Git version control system

Bram Moolenaar

Vim text editor

Richard Stallman

GNU Project, free software movement

Eric S. Raymond

Open source advocacy, Unix philosophy

Andrew Tridgell

Samba file sharing, rsync algorithm

Bob Young

Red Hat Linux, open source business models

Theo de Raadt

OpenBSD, OpenSSH

Richard Hipp

SQLite database engine

Jordan Hubbard

FreeBSD, macOS system architecture

Mark Shuttleworth

Ubuntu Linux, open source business

Guido van Rossum

Python programming language

Ian Murdock

Debian Linux distribution

Jon "maddog" Hall

Linux advocacy, open source movement

Jimmy Wales

Wikipedia, collaborative knowledge systems

Ward Cunningham

Wiki technology, software patterns

Tim O'Reilly

Technology publishing, Web 2.0 concept

John Resig

jQuery JavaScript library

Dries Buytaert

Drupal content management system

Matt Mullenweg

WordPress content management system

Mitchell Baker

Mozilla Project, open web advocacy

Nat Friedman

GitHub, open source development

Marco Arment

Instapaper, podcast software

Joel Spolsky

Stack Overflow, software development practices

Jeff Atwood

Stack Overflow, coding forums

DHH (David Heinemeier Hansson)

Ruby on Rails framework

John Gruber

Markdown text format

Roy Fielding

HTTP protocol, REST architectural style

Douglas Crockford

JSON data format, JavaScript practices

Ray Ozzie

Lotus Notes, collaborative software

Mitchell Kapor

Lotus 1-2-3, software design

Phil Zimmermann

PGP encryption, email security

Joan Feigenbaum

Security and privacy, cryptographic protocols

Matt Blaze

Cryptography, computer security

Bruce Schneier

Cryptography, security analysis

Dan Boneh

Cryptography, applied security

Ross Anderson

Information security economics, hardware security

Martin Hellman

Public key cryptography, cryptographic protocols

Whitfield Diffie

Public key cryptography, key exchange protocol

Adi Shamir

Cryptography, RSA algorithm

Ron Rivest

Cryptography, RSA algorithm, MD5 hash

Leonard Adleman

Cryptography, RSA algorithm, DNA computing

Jonathan Zittrain

Internet law, future of the internet

Lawrence Lessig

Internet law, Creative Commons

Vint Cerf

Internet protocols, TCP/IP design

Bob Kahn

Internet protocols, TCP/IP design

Ed Fredkin

Digital physics, reversible computing

Jon Postel

Internet standards, DNS management

Larry Roberts

ARPANET design, packet switching

Paul Baran

Packet switching networks, distributed communications

Leonard Kleinrock

Packet switching theory, queueing systems

Louis Pouzin

Datagram networking, influence on TCP/IP

Steve Crocker

RFC format, ARPANET protocols

Cerf, Vint

TCP/IP protocol suite, Internet architecture

Mark Andreesen

Mosaic web browser, web technology

Philip Zimmermann

PGP encryption, email privacy

John Draper

Phone phreaking, early hacking culture

Linus Torvalds

Linux kernel, Git version control

Ada Lovelace

First computer program, algorithmic thinking

Charles Babbage

Analytical Engine, computing devices

Jack Dorsey

Twitter platform, mobile payments

Stewart Butterfield

Slack, collaborative communication

Julia Hartz

Eventbrite, event management software

Eric Yuan

Zoom video conferencing

Max Levchin

PayPal, financial technology

Pierre Omidyar

eBay online marketplace

Reid Hoffman

LinkedIn professional network

Kevin Systrom

Instagram photo sharing platform

Mike Krieger

Instagram, mobile photo sharing

Drew Houston

Dropbox, cloud storage

Arash Ferdowsi

Dropbox, cloud file synchronization

Ben Silbermann

Pinterest, visual discovery engine

Evan Spiegel

Snapchat, ephemeral messaging

Bobby Murphy

Snapchat, mobile social media

Brian Acton

WhatsApp, encrypted messaging

Jan Koum

WhatsApp, mobile messaging

Palmer Luckey

Oculus VR, virtual reality hardware

Travis Kalanick

Uber, ride-sharing platform

Brian Chesky

Airbnb, sharing economy for accommodations

Daniel Ek

Spotify, music streaming services

Reed Hastings

Netflix, streaming media

Elon Musk

PayPal, Tesla AI, SpaceX computing systems

Marc Benioff

Salesforce, cloud computing for business

Drew Endy

Synthetic biology, biological computing

Craig Venter

Genomics computing, synthetic biology

Tim Sweeney

Game engine technology, computer graphics

Jane Margolis

Computer science education, inclusion research

Shigeru Miyamoto

Video game design, interactive entertainment

David A. Patterson

RISC architecture, computer architecture

John L. Hennessy

RISC architecture, parallel processing

Susan Kare

Graphical user interface design, digital typography

Ken Knowlton

Computer graphics, animation techniques

Jim Clark

Computer graphics, Silicon Graphics, Netscape

Ed Catmull

Computer animation, rendering algorithms

Pat Hanrahan

Rendering algorithms, visualization systems

Raj Reddy

Artificial intelligence, speech recognition

Geoffrey Hinton

Neural networks, deep learning algorithms

Alexey Pajitnov

Tetris, puzzle game algorithms

Sid Meier

Strategy game design, gameplay algorithms

John Romero

First-person shooter game engines

John Carmack

3D game engines, graphics programming

Sam Altman

AI research organization leadership, LLM development

Daphne Koller

Machine learning, online education

Andrew Ng

Deep learning, online AI education

DJ Patil

Data science, large-scale data systems

Cynthia Dwork

Differential privacy, cryptography

Joy Buolamwini

Algorithmic bias research, AI ethics

Timnit Gebru

AI ethics, bias in machine learning

Rediet Abebe

Algorithms for social good, computational social science

Ruha Benjamin

Technology ethics, race and digital technology

Meredith Whittaker

AI ethics, labor organizing in tech

Margaret Mitchell

Ethical AI, algorithmic fairness

Safiya Umoja Noble

Algorithmic bias research, technology ethics

Kate Crawford

AI ethics, social implications of data systems

Latanya Sweeney

Data privacy, computational privacy

Shoshana Zuboff

Surveillance capitalism theory, digital privacy

danah boyd

Social media research, youth and technology

Helen Nissenbaum

Privacy, contextual integrity theory

Virginia Eubanks

Automated inequality, digital social justice

Jeannette Wing

Computational thinking, formal methods

Jennifer Chayes

Network science, algorithmic fairness

Francoise Barre-Sinoussi

HIV/AIDS computational research

Elizabeth Blackburn

Computational genomics, telomere research

Maryam Mirzakhani

Computational mathematics, dynamical systems

Rosalind Picard

Affective computing, emotion recognition systems

Daniela Rus

Robotics, programmable matter

Manuela Veloso

Autonomous robots, AI planning

Valentina Tereshkova

Space computing systems, orbital mechanics

Patricia Selinger

Database systems, query optimization

Carla Gomes

Constraint reasoning, computational sustainability

Radia Perlman

Network protocols, spanning tree algorithm

Donna Strickland

Laser pulse amplification, computational optics

Frances Allen

Compiler optimization, parallel computing

Anita Borg

Women in computing advocacy, operating systems

Karen Spärck Jones

Information retrieval, inverse document frequency

Erna Schneider Hoover

Computerized telephone switching system

Carol Shaw

Video game programming, game design

Annie Easley

Rocket science software, energy systems analysis

Mary Kenneth Keller

BASIC programming language development

Lynn Conway

VLSI microchip design, computer architecture

Sophie Wilson

ARM processor architecture, instruction set design

Mary Lou Jepsen

Display technology, computer hardware

Shafi Goldwasser

Cryptography, computational complexity theory

Fei-Fei Li

Computer vision, ImageNet dataset

Katie Bouman

Computational imaging, black hole visualization

Megan Smith

Digital government, technology policy

Ellen Ochoa

Optical processing systems, space robotics

Sheryl Sandberg

Social media platform operations, tech leadership

Mary Allen Wilkes

First home computer user, LINC operating system

Jean E. Sammet

FORMAC programming language, programming language history

Roberta Williams

Graphic adventure games, interactive storytelling

Adele Goldberg

Smalltalk programming language, object-oriented programming

Eben Upton

Raspberry Pi, educational computing

Jack Tramiel

Commodore computers, home computing market

Clive Sinclair

ZX Spectrum, affordable home computers

Masayoshi Son

Tech investment, mobile computing

Ginni Rometty

Enterprise computing, AI business applications

John McAfee

Antivirus software, computer security

Eugene Kaspersky

Cybersecurity software, malware detection

Daniel J. Bernstein

Cryptography, secure network software

Matthew Green

Applied cryptography, encrypted messaging

Taher Elgamal

SSL protocol, public key infrastructure

Moxie Marlinspike

End-to-end encryption, Signal protocol

Adam Back

Hashcash algorithm, cryptocurrency fundamentals

Wei Dai

B-money concept, cryptographic libraries

Nick Szabo

Smart contracts, digital currency theory

Ralph Merkle

Public key cryptography, Merkle trees

Hal Finney

Bitcoin development, cryptographic systems

David Chaum

Digital cash, anonymous communication

Martin Odersky

Scala programming language, Java compiler

Steve McConnell

Software development practices, code quality

Kent Beck

Extreme programming, test-driven development

Alistair Cockburn

Agile methodology, use cases

Martin Fowler

Code refactoring, software architecture

Robert C. Martin

Clean code principles, agile practices

Fred Brooks

Software engineering management, OS/360

Watts Humphrey

Software process improvement, capability maturity model

Ken Schwaber

Scrum development methodology

Jeff Sutherland

Scrum development methodology, agile manifesto

Mary Poppendieck

Lean software development, value stream mapping

Tom Poppendieck

Lean software development, waste elimination

Michael Feathers

Legacy code refactoring, test-driven development

Eric Evans

Domain-driven design, software modeling

Erich Gamma

Design patterns, JUnit testing framework

Richard Helm

Design patterns, object-oriented design

Ralph Johnson

Design patterns, framework design

John Vlissides

Design patterns, software visualization

Craig Larman

Iterative development, scaling agile methods

Peter Naur

Programming theory, Backus-Naur Form

Rebecca Wirfs-Brock

Responsibility-driven design, object design

Mary Shaw

Software architecture, software engineering education

David Parnas

Software engineering, information hiding

Barry Boehm

Software economics, spiral model

Niklaus Wirth

Programming languages, compiler design

Luca Cardelli

Type theory, programming language theory

Barbara Liskov

Programming methodology, distributed computing

Bertrand Meyer

Design by contract, Eiffel language

Ole-Johan Dahl

Object-oriented programming, Simula language

Kristen Nygaard

Object-oriented programming, Simula language

David A. Wheeler

Open source software, secure programming

Joel Spolsky

Software development practices, user interface design

Kenneth E. Iverson

APL programming language, array programming

John W. Backus

FORTRAN language, Backus-Naur form

Thomas E. Kurtz

BASIC programming language, time-sharing systems

Adele Goldberg

Smalltalk programming environment, OOP concepts

Peter Chen

Entity-relationship model, database design

E.F. Codd

Relational database model, relational algebra

Claude Shannon

Information theory, digital circuits