Bilgisayar ve Programlamaya Giriş · People

Important People in Computing and Programming

55 profiles of the mathematicians, engineers and programmers behind the ideas used in the course, from Euclid's algorithm and Boole's logic to Turing machines, the transistor, the internet, Unix, spreadsheets and Java. Each card links to the course chapters where the person's work appears; open "More" for details.

Euclid of Alexandria

fl. c. 300 BCGreek · Alexandria

Euclid's algorithm (GCD) · Elements, Book VII

Described in the Elements the procedure for the greatest common divisor that is still taught as one of the oldest known algorithms.

greatest common divisorremaindertermination

Muhammad ibn Musa al-Khwarizmi

c. 780–c. 850Persian · House of Wisdom, Baghdad

Origin of the words "algorithm" and "algebra"

Wrote influential books on arithmetic with Hindu–Arabic numerals and on solving equations; the Latin form of his name, Algoritmi, gave us the word "algorithm".

step-by-step proceduresdecimal numeralsalgebra

Leonardo of Pisa (Fibonacci)

c. 1170–c. 1250Italian · Pisa

Liber Abaci · 1202

Promoted Hindu–Arabic numerals in Europe with Liber Abaci (1202), which includes the rabbit problem that produces the sequence 0, 1, 1, 2, 3, 5, 8, …

Fibonacci sequencerecurrenceiteration vs recursion

Gottfried Wilhelm Leibniz

1646–1716German · polymath, Hanover

Binary arithmetic · 1703 · stepped reckoner

Published an account of binary arithmetic using only 0 and 1 (1703) and built a mechanical calculator, the stepped reckoner.

binary numbersmechanical calculationsymbolic reasoning

Joseph Marie Jacquard

1752–1834French · weaver and inventor, Lyon

Punched-card loom · 1804

Built a loom attachment (demonstrated around 1804) that wove patterns automatically, controlled by a chain of punched cards.

punched cardsstored instructionsautomation

Carl Friedrich Gauss

1777–1855German · University of Göttingen

Sum 1 + 2 + … + n = n(n + 1)/2

According to a well-known (possibly embellished) story, found the sum of the numbers 1 to 100 instantly as a schoolboy by pairing terms.

closed-form formulaefficiencyloop vs formula

Charles Babbage

1791–1871English · University of Cambridge (Lucasian Professor)

Difference Engine · Analytical Engine (1837)

Designed the Difference Engine for computing tables and then the Analytical Engine (1837), a general-purpose mechanical computer that was never completed.

store and millpunched-card inputgeneral-purpose machine

George Boole

1815–1864English · Queen's College Cork, Ireland

Boolean algebra · 1847, 1854

Treated logic as algebra on true/false values in The Mathematical Analysis of Logic (1847) and The Laws of Thought (1854).

AND / OR / NOTtruth tablesboolean type

Ada Lovelace

1815–1852English · mathematician, London

Notes on the Analytical Engine · 1843

Translated an article on Babbage's Analytical Engine and added extensive notes (1843), including a step-by-step method for computing Bernoulli numbers.

first published algorithm for a machineNote Gsymbol manipulation

Édouard Lucas

1842–1891French · mathematician, Paris

Tower of Hanoi puzzle · 1883

Invented and marketed the Tower of Hanoi puzzle in 1883 under the pseudonym "N. Claus de Siam".

Tower of Hanoi2ⁿ − 1 movesrecursive thinking
Course chaptersCh. 12 · Recursion

Herman Hollerith

1860–1929American · Tabulating Machine Company

Punched-card tabulator · 1890 US census

Built electromechanical machines that counted data recorded on punched cards and used them to process the 1890 US census.

data processingpunched cardstabulating machines

Alonzo Church

1903–1995American · Princeton University, UCLA

Lambda calculus · Church–Turing thesis

Created the lambda calculus and in 1936 used it to show that the Entscheidungsproblem (decision problem) of logic has no general solution.

lambda calculuscomputabilityundecidability

John von Neumann

1903–1957Hungarian-American · Institute for Advanced Study, Princeton

Stored-program architecture · 1945 · merge sort

Described the stored-program computer, with program and data in the same memory, in the First Draft of a Report on the EDVAC (1945).

von Neumann architecturefetch–decode–executemerge sort

Tommy Flowers

1905–1998British · Post Office Research Station, Dollis Hill

Colossus · 1944

Designed and built Colossus, an electronic machine using vacuum tubes (valves) that helped break German Lorenz ciphers at Bletchley Park from early 1944.

vacuum tubeselectronic computationcodebreaking

Grace Hopper

1906–1992American · US Navy (Rear Admiral), Remington Rand

A-0 compiler · FLOW-MATIC · COBOL

Built the A-0 system (1952), an early compiler, and the English-like FLOW-MATIC language, which strongly influenced COBOL (1959).

compilersCOBOLEnglish-like syntax
Course chaptersCh. 4 · Programming

John Mauchly & J. Presper Eckert

1907–1980 · 1919–1995American · Moore School, University of Pennsylvania

ENIAC · 1945–46 · UNIVAC I

Led the design of ENIAC, a general-purpose electronic computer completed in 1945 and unveiled in February 1946.

ENIACvacuum tubesUNIVAC

John Bardeen, Walter Brattain & William Shockley

1908–1991 · 1902–1987 · 1910–1989American · Bell Labs

Transistor · 1947

Bardeen and Brattain built the first point-contact transistor at Bell Labs in December 1947; Shockley soon designed the junction transistor.

Prizes: Nobel Prize in Physics 1956 (shared by the three); Bardeen won a second physics Nobel in 1972

transistorsemiconductorsswitches

Konrad Zuse

1910–1995German · civil engineer, Berlin

Z3 · 1941 · Plankalkül

Completed the Z3 in 1941, a programmable, fully automatic digital computer built from relays, and designed Plankalkül, an early high-level programming language.

binary floating pointrelaysPlankalkül

Alan Turing

1912–1954British · University of Cambridge, Bletchley Park, University of Manchester

Turing machine · 1936

Defined the Turing machine in "On Computable Numbers" (1936) and proved that some problems cannot be solved by any algorithm.

Turing machineuniversal machinecomputability

Herman Goldstine

1913–2004American · ENIAC project, Institute for Advanced Study

Flow diagrams · 1947

With von Neumann, wrote "Planning and Coding of Problems for an Electronic Computing Instrument" (1947–48), which introduced flow diagrams for designing programs.

flowchartsprogram planningIAS machine

Claude Shannon

1916–2001American · MIT, Bell Labs

Switching circuits · 1937 · information theory · 1948

Showed in his 1937 master's thesis that Boolean algebra can describe and simplify relay switching circuits, and founded information theory in 1948.

logic circuitsbitinformation theory

Bob Bemer

1920–2004American · IBM and other companies

ASCII · escape sequence · backslash

Played a leading role in creating ASCII (first published in 1963), including the escape sequence and the backslash character.

ASCIIcharacter codesescape sequences

Corrado Böhm & Giuseppe Jacopini

1923–2017 (Böhm)Italian · Rome (IAC-CNR); Jacopini was Böhm's student

Structured program theorem · 1966

Proved (Communications of the ACM, 1966) that any flowchart program can be rewritten using only sequence, selection and iteration.

sequenceselectioniteration

Jack Kilby & Robert Noyce

1923–2005 · 1927–1990American · Texas Instruments (Kilby); Fairchild Semiconductor, Intel (Noyce)

Integrated circuit · 1958–59

Independently invented the integrated circuit: Kilby demonstrated one at Texas Instruments in 1958, and Noyce devised the practical silicon planar version at Fairchild in 1959.

Prizes: Kilby: Nobel Prize in Physics 2000 (Noyce had died in 1990)

integrated circuitchipsminiaturisation

John Backus

1924–2007American · IBM

FORTRAN · 1957 · Backus–Naur Form

Led the IBM team that created FORTRAN (1957), the first widely used high-level language with an optimising compiler.

Prizes: Turing Award 1977

FORTRANcompilersBNF grammar

Douglas Engelbart

1925–2013American · Stanford Research Institute (SRI)

Computer mouse · "Mother of All Demos" 1968

Invented the computer mouse (built with Bill English in the mid-1960s) and in 1968 demonstrated windows, hypertext and real-time collaborative editing.

Prizes: Turing Award 1997

mousehypertextinteractive computing

Paul Baran & Donald Davies

1926–2011 · 1924–2000Polish-born American · RAND (Baran); Welsh · National Physical Laboratory (Davies)

Packet switching · 1960s

Independently developed packet switching: messages are split into small blocks that travel separately through the network and are reassembled.

packet switchingdistributed networksrouting
Course chaptersCh. 1 · Internet

John Kemeny & Thomas Kurtz

1926–1992 · 1928–2024Hungarian-born American; American · Dartmouth College

BASIC · 1964

Created BASIC and the Dartmouth Time-Sharing System, which ran the first BASIC program on 1 May 1964.

BASICtime-sharingprogramming for everyone
Course chaptersCh. 4 · Programming

John McCarthy

1927–2011American · MIT, Stanford University

Lisp · 1958 · "artificial intelligence"

Designed Lisp (1958), a language built on recursive functions, and coined the term "artificial intelligence" in the 1955 Dartmouth proposal.

Prizes: Turing Award 1971

recursionconditional expressionsLisp

Seymour Papert

1928–2016South African-born · MIT

Logo · Mindstorms (1980)

Co-created the Logo language for children (1967) and used the phrase "computational thinking" in his book Mindstorms (1980).

Logolearning by programmingcomputational thinking

Gordon Moore

1929–2023American · Fairchild Semiconductor, Intel

Moore's law · 1965

Observed in 1965 that the number of components on a chip was doubling every year, later revising the rate to about every two years (1975).

Moore's lawtransistor countsemiconductors

Edsger W. Dijkstra

1930–2002Dutch · Mathematisch Centrum, Eindhoven University of Technology, University of Texas at Austin

Structured programming · "Go To Statement Considered Harmful" 1968

Argued in 1968 that unrestricted goto jumps make programs hard to understand, launching the structured programming movement.

Prizes: Turing Award 1972

structured programmingshortest pathssemaphores

William Kahan

b. 1933Canadian · University of California, Berkeley

IEEE 754 floating point · 1985

Was the principal architect of the IEEE 754 standard for floating-point arithmetic (1985).

Prizes: Turing Award 1989

floating pointroundingdouble

Tony Hoare

1934–2026British · Elliott Brothers, Queen's University Belfast, University of Oxford, Microsoft Research

Quicksort · 1959–61

Invented quicksort around 1959–60 and published it in 1961; it sorts by partitioning around a pivot and recursively sorting the parts.

Prizes: Turing Award 1980

quicksortdivide and conquerHoare logic

Niklaus Wirth

1934–2024Swiss · ETH Zurich

Pascal · 1970 · Algorithms + Data Structures = Programs

Designed Pascal (1970) as a language for teaching structured programming, followed by Modula-2 and Oberon.

Prizes: Turing Award 1984

Pascalstructured programmingstepwise refinement
Course chaptersCh. 4 · Programming

Ted Hoff, Federico Faggin & Masatoshi Shima

b. 1937 · b. 1941 · b. 1943American; Italian-American; Japanese · Intel and Busicom

Intel 4004 microprocessor · 1971

Created the Intel 4004 (1971), the first commercial single-chip microprocessor, with Stanley Mazor.

microprocessorCPU on a chip4-bit

Donald Knuth

b. 1938American · Stanford University

The Art of Computer Programming (from 1968)

Systematised the analysis of algorithms in The Art of Computer Programming, whose first volume appeared in 1968.

Prizes: Turing Award 1974

analysis of algorithmsbig-Osorting and searching

Alan Kay

b. 1940American · Xerox PARC

Smalltalk · overlapping windows · Dynabook

At Xerox PARC in the 1970s led the group that developed Smalltalk and the overlapping-window graphical interface.

Prizes: Turing Award 2003

graphical user interfaceobject-oriented programmingSmalltalk

Dennis Ritchie & Ken Thompson

1941–2011 · b. 1943American · Bell Labs

Unix · 1969 · C language · 1972

Created the Unix operating system at Bell Labs from 1969; Ritchie developed the C language (around 1972), in which Unix was rewritten.

Prizes: Turing Award 1983 (joint)

UnixC languageportability

Ray Tomlinson

1941–2016American · BBN (Bolt Beranek and Newman)

Network email · 1971 · @ sign

Sent the first email between computers on ARPANET in 1971 and chose the @ sign to separate the user name from the host name.

email@ signARPANET
Course chaptersCh. 1 · Internet

Brian Kernighan

b. 1942Canadian · Bell Labs, Princeton University

"hello, world" · The C Programming Language (1978)

Wrote the first known "hello, world" programs in Bell Labs tutorials for B (1972) and C (1974), later made famous by the book he wrote with Dennis Ritchie (1978).

hello, worldfirst programprogramming style

Vint Cerf & Bob Kahn

b. 1943 · b. 1938American · Stanford, DARPA

TCP/IP · 1974

Designed the TCP/IP protocols for connecting different networks (paper published in 1974); ARPANET switched to TCP/IP on 1 January 1983.

Prizes: Turing Award 2004 (joint); US Presidential Medal of Freedom 2005

TCP/IPinternetworkingprotocols
Course chaptersCh. 1 · Internet

Robert Gaskins & Dennis Austin

1947–2023 (Austin)American · Forethought, Inc., later Microsoft

PowerPoint · 1987

Gaskins conceived and Austin led the programming of the presentation program Presenter, released as PowerPoint 1.0 for the Macintosh in 1987.

presentation softwareslidesForethought
Course chaptersCh. 3 · PowerPoint

Charles Simonyi

b. 1948Hungarian-American · Xerox PARC, Microsoft

Bravo editor · Microsoft Word

Co-developed Bravo at Xerox PARC with Butler Lampson, an early WYSIWYG ("what you see is what you get") editor, and then led the development of Microsoft Word (1983).

word processingWYSIWYGMicrosoft Office
Course chaptersCh. 3 · Word

Paul Mockapetris

b. 1948American · USC Information Sciences Institute

Domain Name System (DNS) · 1983

Designed the Domain Name System, specified in RFCs 882 and 883 (November 1983), which translates names like www.example.edu into IP addresses.

DNSdomain nameshierarchy
Course chaptersCh. 1 · Internet

Bjarne Stroustrup

b. 1950Danish · Bell Labs, Texas A&M, Columbia University

C++ · 1983

Created C++, starting as "C with Classes" in 1979; it was renamed C++ in 1983 and released commercially in 1985.

C++object-oriented programmingclasses
Course chaptersCh. 4 · Programming

Dan Bricklin & Bob Frankston

b. 1951 · b. 1949American · Software Arts

VisiCalc · 1979

Created VisiCalc (1979) for the Apple II, the first electronic spreadsheet program for personal computers.

spreadsheetscells and formulaskiller app
Course chaptersCh. 3 · Excel

Richard Stallman

b. 1953American · MIT AI Lab, Free Software Foundation

GNU project · 1983 · GPL

Announced the GNU project in 1983 to build a free Unix-like operating system and founded the Free Software Foundation (1985).

free softwareGNUGPL licence

Bill Gates & Paul Allen

b. 1955 · 1953–2018American · Microsoft

Microsoft · 1975 · MS-DOS · Windows

Founded Microsoft in 1975, supplied MS-DOS for the IBM PC (1981) and released Windows 1.0 in 1985.

MS-DOSWindowsMicrosoft Office

Tim Berners-Lee

b. 1955British · CERN, MIT, University of Oxford

World Wide Web · 1989

Proposed the World Wide Web at CERN in 1989 and created the first web browser, web server, HTML and HTTP; the first website went online in 1991.

Prizes: Turing Award 2016

WWWHTMLHTTP and URLs
Course chaptersCh. 1 · Internet

James Gosling

b. 1955Canadian · Sun Microsystems

Java · 1995

Led the design of the Java language at Sun Microsystems, released in 1995 with the slogan "write once, run anywhere".

Javabytecode and JVMplatform independence

Guido van Rossum

b. 1956Dutch · CWI Amsterdam, later Google, Dropbox, Microsoft

Python · 1991

Created Python, first released in February 1991, with an emphasis on readable code.

Pythoninterpreterreadability

Jeannette Wing

b. 1956American · Carnegie Mellon University, Columbia University

"Computational Thinking" · 2006

Argued in a 2006 Communications of the ACM essay that computational thinking is a basic skill for everyone, not only for computer scientists.

decompositionabstractionalgorithmic thinking

Linus Torvalds

b. 1969Finnish-American · University of Helsinki, Linux Foundation

Linux kernel · 1991 · Git

Started the Linux kernel as a student in Helsinki in 1991 and released it as open-source software.

Linux kernelopen sourceGit

Joe Becker, Lee Collins & Mark Davis

American · Xerox and Apple · Unicode Consortium

Unicode · 1987–91

Began the Unicode project in 1987 to give every character in every writing system a single code; Becker's 1988 paper "Unicode 88" set out the design.

Unicodecode pointsUTF-8

Prize years refer to the year of the award; the Turing Award is given by the ACM. Joint cards group people whose work is taught together and are sorted by the first person named; where no birth year is shown, sorting uses the period of the main work.