Encyclopedia/1. The Cosmos & The Natural World/1. Mathematics & Formal Systems/08. Computing & Information • Curated by Admin Timeline.sg
Algorithms · Complexity theory · Information entropy
Chronological Storyline (23 Milestones)
2700 BCE
Mesopotamian abacus emerges
The earliest abacus-like counting boards appear in Mesopotamia, providing a physical tool for arithmetic computation that would spread and evolve across civilizations for millennia. · Wikipedia: https://en.wikipedia.org/wiki/Abacus
Line art drawing of an abacus By Pearson Scott Foresman - This image has been extracted from another file, Public domain, https://commons.wikimedia.org/w/index.php?curid=3503686
500 BCE
Panini formalizes Sanskrit grammar
The ancient Indian grammarian Panini composed the Ashtadhyayi, a rigorous formal rule system for Sanskrit grammar that is widely regarded as a precursor to modern formal language theory and metalinguistic notation. Source — Wikipedia:
400 BCE
Counting rods used in China
Chinese mathematicians employed counting rods for arithmetic and algebraic computation, enabling sophisticated calculations including solutions to linear equations and extraction of square and cube roots. Source — Wikipedia:
Drawing of Pascal's Triangle published in C.E.1303 by Zhu Shijie (C.E.1260-1320), in his Si Yuan Yu Jian. It was called Jia Xian triangle or Yanghui Triangle by the Chinese, after the mathematician Jia Xian & Yang Hui. By Yáng Huī (楊輝), ca. 1238–1298) - w:en:Image:Yanghui_triangle.gif, Public domain, https://commons.wikimedia.org/w/index.php?curid=1189650
200 BCE
Suanpan abacus documented in China
The Chinese suanpan abacus was developed and refined, becoming a dominant computing instrument in East Asia and later spreading to Japan as the soroban, where it remained in widespread use into the modern era. · Wikipedia: https://en.wikipedia.org/wiki/Suanpan
Abacus By Encyclopædia Britannica - Article for "abacus", 9th edition Encyclopedia Britannica, volume 1 (1875); scanned and uploaded by Malcolm Farmer Transferred from en.wikipedia to Commons., Public domain, https://commons.wikimedia.org/w/index.php?curid=146649
820 CE
al-Khwarizmi writes on algebra
Muhammad ibn Musa al-Khwarizmi published his treatise on algebra at the House of Wisdom in Baghdad, introducing systematic methods for solving linear and quadratic equations; his name gave rise to the word 'algorithm.' · Wikipedia: https://en.wikipedia.org/wiki/Al-Khwarizmi
Monumento a Muhammad al-Juarismi en la Ciudad Universitaria de Madrid By Zarateman - Own work, CC0, https://commons.wikimedia.org/w/index.php?curid=162213187
1206 CE
al-Jazari builds programmable automata
The Kurdish engineer al-Jazari described a programmable drum-based automaton in his 'Book of Knowledge of Ingenious Mechanical Devices,' representing one of the earliest known examples of programmable machinery using cams and pegs. Source — Wikipedia:
The elephant clock from Al-Jazari's manuscript. By Al-Jazari - http://www.muslimheritage.com/topics/default.cfm?ArticleID=466, Public domain, https://commons.wikimedia.org/w/index.php?curid=4173094
1377 CE
Jikji printed with Korean movable type
Korean monks at the Heungdeok Temple printed Jikji using metal movable type, predating European movable type printing by decades and demonstrating an early form of information reproduction technology. Source — Wikipedia:
Two pages (pp. 4v–5r) of a 1377 manuscript of the Jikji, the oldest example of printing with metal movable type. Held at and digitized by the Département des Manuscrits at the Bibliothèque nationale de France By Unknown author - https://gallica.bnf.fr/ark:/12148/btv1b10527116j, Public domain, https://commons.wikimedia.org/w/index.php?curid=148191571
1837 CE
Babbage designs Analytical Engine
Charles Babbage designed the Analytical Engine, a proposed mechanical general-purpose computer incorporating an arithmetic logic unit, conditional branching, and memory, though it was never completed in his lifetime. Source — Wikipedia:
This was the first fully-automatic calculating machine. British computing pioneer Charles Babbage (1791-1871) first conceived the idea of an advanced calculating machine to calculate and print mathematical tables in 1812. This machine, conceived by Babbage in 1834, was designed to evaluate any mathematical formula and to have even higher powers of analysis than his original Difference engine of the 1820s. Only part of the machine was completed before his death in 1871. This is a portion of the mill with a printing mechanism. Babbage was also a reformer, mathematician, philosopher, inventor and political economist. By Charles Babbage - Upload by Mrjohncummings 2013-08-28 15:10, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=28024313Babbage's Analytical Engine - Computerphile
1843 CE
Lovelace describes first algorithm
Ada Lovelace published notes on the Analytical Engine including a method for computing Bernoulli numbers, now widely recognized as the first published algorithm intended for machine execution. Source — Wikipedia:
Ada Lovelace daguerreotype by Antoine Claudet 1843 - cropped By Antoine Claudet - shared by Paul Graham on x.com https://x.com/paulg/status/1927655441913250041, Public domain, https://commons.wikimedia.org/w/index.php?curid=166285599
1931 CE
Gödel proves incompleteness theorems
Kurt Gödel published his incompleteness theorems, demonstrating that any sufficiently powerful formal axiomatic system contains true statements that are unprovable within the system, profoundly impacting the foundations of computation. Source — Wikipedia:
Gödel's Incompleteness Theorem - Numberphile
1936 CE
Turing defines computability
Alan Turing introduced the Turing machine in 'On Computable Numbers,' providing a formal model of computation that defined the limits of what is mechanically computable and laid the foundation for theoretical computer science. · Wikipedia: https://en.wikipedia.org/wiki/Turing_machine
Turing Machine, reconstructed by Mike Davey as seen at Go Ask ALICE at Harvard University By Rocky Acosta - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=243698791966: Alan Turing's Machines | Mathematics in Action | BBC Archive
1936 CE
Church's lambda calculus
Alonzo Church published the lambda calculus, an alternative formal system for defining computable functions, and conjectured with Turing that their equivalent models capture the intuitive notion of effective calculability. · Wikipedia: https://en.wikipedia.org/wiki/Lambda_calculus
The lambda abstraction decomposed. The λ {\displaystyle \lambda } indicates the start of a function. x {\displaystyle x} is the input parameter. M {\displaystyle M} is the body, separated by a dot separator " . {\displaystyle .} " from the input parameter. By Epachamo - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=178642643
1948 CE
Shannon founds information theory
Claude Shannon published 'A Mathematical Theory of Communication,' introducing information entropy as a measure of uncertainty and establishing the theoretical foundations of digital communication and data compression. · Wikipedia: https://en.wikipedia.org/wiki/Information_theory
Claude Shannon - Father of the Information Age
1953 CE
Markov chains and algorithms
Andrey Markov Jr. published 'The Theory of Algorithms,' formalizing the concept of normal algorithms and contributing to the Soviet school of computability theory parallel to Western developments. Source — Wikipedia:
1956 CE
Chomsky hierarchy of grammars
Noam Chomsky published his classification of formal grammars into four types (regular, context-free, context-sensitive, and recursively enumerable), establishing a hierarchy that connects formal language theory to automata and computation. · Wikipedia: https://en.wikipedia.org/wiki/Chomsky_hierarchy
A graphical representation of the sets of languages included in the w:Chomsky hierarchy. By J. Finkelstein - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=9405226
1965 CE
Cook formulates NP-completeness
Stephen Cook proved that the Boolean satisfiability problem is NP-complete, introducing the concept of NP-completeness and establishing the P versus NP problem as a central question in computer science. · Wikipedia: https://en.wikipedia.org/wiki/Cook%E2%80%93Levin_theorem
1965 CE
Hartmanis and Stearns define complexity
Juris Hartmanis and Richard Stearns published 'On the Computational Complexity of Algorithms,' formally defining time complexity classes and establishing computational complexity theory as a field. Source — Wikipedia:
1972 CE
Karp shows 21 NP-complete problems
Richard Karp demonstrated that 21 diverse combinatorial problems are all NP-complete, showing the breadth of the P versus NP question and cementing the practical importance of complexity theory. · Wikipedia: https://en.wikipedia.org/wiki/Karp's_21_NP-complete_problems
1977 CE
RSA cryptosystem published
Ron Rivest, Adi Shamir, and Leonard Adleman published the RSA public-key cryptosystem, whose security relies on the computational hardness of factoring large integers, linking complexity theory to practical cryptography. · Wikipedia: https://en.wikipedia.org/wiki/RSA_(cryptosystem)
Prime Numbers & RSA Encryption Algorithm - Computerphile
1979 CE
Adleman pioneers DNA computing
Leonard Adleman demonstrated the first experimental computation using DNA molecules to solve a Hamiltonian path problem, opening the field of molecular computing and expanding the physical substrates of computation. · Wikipedia: https://en.wikipedia.org/wiki/DNA_computing
Animation of the structure of a section of DNA. The bases lie horizontally between the two spiraling strands. Nitrogen: blue, Oxygen: red, carbon: green, hydrogen: white, phosphorous: orange By Original uploader was Richard Wheeler (Zephyris) at en.wikipedia - Originally from en.wikipedia; description page is/was here., CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=2118354
1985 CE
Deutsch defines quantum Turing machine
David Deutsch published the concept of a universal quantum Turing machine, establishing the theoretical foundation of quantum computation and showing that quantum computers could in principle simulate any physical process. · Wikipedia: https://en.wikipedia.org/wiki/Quantum_Turing_machine
1994 CE
Shor's quantum factoring algorithm
Peter Shor published a polynomial-time quantum algorithm for integer factorization, demonstrating that quantum computers could break RSA and establishing quantum complexity theory as a practically important field. · Wikipedia: https://en.wikipedia.org/wiki/Shor's_algorithm
2002 CE
AKS primality test discovered
Manindra Agrawal, Neeraj Kayal, and Nitin Saxena at the Indian Institute of Technology Kanpur published the AKS primality test, the first deterministic polynomial-time algorithm for testing primality, resolving a long-standing open problem. · Wikipedia: https://en.wikipedia.org/wiki/AKS_primality_test