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