City systems

Civilization Museum · 06

Mathematics, Computing & Information

From algorithms, logic, and programs to databases, networks, cryptography, and the Web, this wall follows how cats wrote problems as rules, let machines execute them, and learned to organize, transmit, and protect information.

Writing Problems as Rules

Al-Khwarizmi Cat arranges a complex problem into a sequence of algorithmic steps.
01

Al-Khwarizmi Cat

Al-Khwarizmi Cat wrote complex calculations as a sequence of steps that could be followed in order. Other cats could use the same steps, check the process, and reach a result.

Leibniz Cat operates a mechanical calculator while arranging black-and-white binary counters.
02

Leibniz Cat

Leibniz Cat studied binary notation and mechanical calculators, trying to make machines carry out calculations by clear rules. Complex quantities could be represented with a small set of symbols such as 0 and 1.

Boole Cat changes logic switches and observes the resulting output.
03

Boole Cat

Boole Cat turned logical judgments such as AND, OR, and NOT into an algebra that could be calculated. Later switches and circuits could make decisions by following the same rules.

What Machines Can Do

Ada Lovelace Cat places a punched card into an Analytical Engine model while reviewing an algorithm.
04

Ada Lovelace Cat

Ada Cat wrote a method for a machine to carry out a sequence of steps using Babbage Cat's Analytical Engine design. She also saw that a general-purpose machine might one day process symbols, patterns, and music as well as numbers.

Turing Cat feeds a paper tape through a machine head while checking a state-transition diagram.
05

Turing Cat

Turing Cat studied which tasks could be written as explicit steps for a machine to perform. He also found that some questions have no answer that any machine can calculate by following steps.

John von Neumann Cat places program and data cards into the same stored-program model.
06

John von Neumann Cat

Von Neumann Cat and early computer teams placed both programs and data in a machine's memory. Cats no longer had to rewire the machine whenever they wanted it to read and run a different program.

Grace Hopper Cat feeds a high-level program card into a compiler and receives machine instructions.
07

Grace Hopper Cat

Hopper Cat advanced compilers and higher-level programming languages. Programming cats could write instructions in language closer to the problem, then let a compiler translate them into a form the machine could execute.

Organizing Information

Shannon Cat compares an encoded signal before and after noise in a communications laboratory.
08

Shannon Cat

Shannon Cat studied how much information a communication line can carry and how noise damages a message. With suitable encoding and error checks, a disturbed message can still arrive more reliably.

Edgar Codd Cat connects related data cards and uses a query card to retrieve a result.
09

Edgar Codd Cat

Codd Cat connected different records through fields they shared. Cats could use queries to find, combine, and update the records they needed without searching through separate files one by one.

Connecting, Transmitting & Protecting

Vint Cerf Cat connects two differently structured network modules through a shared protocol path.
10

Vint Cerf Cat

Cerf Cat, Kahn Cat, and other research cats created shared communication rules that let networks with different structures exchange data. The Internet is therefore not one network, but many networks connected together.

Whitfield Diffie Cat sends a public parameter card and forms a secret key in an open-network experiment.
11

Whitfield Diffie Cat

Diffie Cat, Hellman Cat, and Merkle Cat studied how two cats could establish secret communication over an open network. Even without sharing the same key beforehand, cats at both ends could safely agree on a key to use afterward.

Tim Berners-Lee Cat connects two document nodes in an open Web workspace.
12

Tim Berners-Lee Cat

Berners-Lee Cat used URLs to identify documents, HTTP to transfer them, and HTML to organize pages and links. Information stored on different machines could then connect into the browsable World Wide Web.