Atlas Trail
The Fields of Computing: From Theory to Practice
This trail moves through computing's own fields in the order each built on what came before, from the algorithmic theory that gives the field its shared vocabulary of running time and correctness, through the machines, languages and systems built on that theory, and on to newer specialties, from machine learning to quantum computing, that theory and those systems made possible.
Stop 1 of 15.
Fields
Every other field on this trail inherits its vocabulary from here: what it means for an algorithm to run efficiently, and whether a problem can be solved efficiently at all, questions the field traces back through Euclid's algorithm for the greatest common divisor to the sorting and searching methods taught in a first course.
Stop 2 of 15.
Fields
The organization those algorithms run on has a documented paper trail of its own, from the correspondence between Charles Babbage and Ada Lovelace describing the analytical engine to John von Neumann's 1945 First Draft of a Report on the EDVAC, whose stored program design nearly every later machine still follows.
Stop 3 of 15.
Fields
Early machines ran one program at a time with an operator loading each job by hand; the field's central advances, batch processing, time sharing and later multitasking, were each a way of keeping that architecture's expensive hardware busier and more programs running at once.
Stop 4 of 15.
Fields
The languages programmers use to instruct that hardware trace back further than electronic computers themselves: the lambda calculus Alonzo Church and Stephen Cole Kleene developed in the 1930s is considered by some the world's first programming language, and still anchors how the field reasons about meaning.
Stop 5 of 15.
Fields
Writing in those languages at scale turned out to need its own discipline; the term software engineering was coined for a 1968 NATO conference in Garmisch, convened because software projects of the era were running late, over budget and full of defects, a problem participants named the software crisis.
Stop 6 of 15.
Fields
Software built at that scale needed somewhere to keep its data; organized shared data stores became practical in the mid 1960s once direct access storage existed, and the field was transformed in 1970 when Edgar F. Codd proposed the relational model that most structured data still runs on.
Stop 7 of 15.
Fields
Once data was organized, the next step was moving it between machines; the field grew directly out of ARPANET, and its central idea, packet switching, breaking a message into independently routed pieces, was developed in the early 1960s by Paul Baran in the United States and, independently, Donald Davies in the United Kingdom.
Stop 8 of 15.
Fields
Networking machines together raised the question of who else could read the traffic; the craft is ancient, but Claude Shannon's papers of 1948 and 1949 gave it a mathematical basis, and modern cryptographic algorithms are now designed around computational hardness assumptions rather than secrecy of method.
Stop 9 of 15.
Fields
Instead of moving data between separate machines, this field divides one large problem across many processors working at once; Michael Flynn's 1966 taxonomy classifying architectures by instruction and data stream is its most commonly cited framework, though experimental parallel hardware such as the Gamma 60 fork-join machine predates it by nine years.
Stop 10 of 15.
Fields
That growing computational power was turned toward a much older question, whether a machine could reason or learn; the field takes its name from a 1956 summer workshop at Dartmouth College, organized by John McCarthy, Marvin Minsky, Nathaniel Rochester and Claude Shannon, where McCarthy proposed the term.
Stop 11 of 15.
Fields
One approach within that field, teaching a system from data rather than programming it with explicit rules, got its name in 1959 from Arthur Samuel, an IBM researcher and pioneer of computer game playing, and now underlies everything from speech recognition to the deep learning systems of the 2010s and beyond.
Stop 12 of 15.
Fields
Learning from data at scale created its own discipline for making sense of it; the term data science traces to 1974, when Peter Naur proposed it as an alternative name for computer science itself, before it grew into the interdisciplinary field of statistics, computing and domain knowledge it is today.
Stop 13 of 15.
Fields
One task within data science, finding patterns in data too large to inspect by hand, sits at the intersection of machine learning, statistics and database systems, and the term itself appeared around 1990 in the database community, already carrying positive connotations.
Stop 14 of 15.
Fields
Not every use of that computation is about extracting patterns from numbers; some of it is about drawing them, a field whose name is credited to Boeing graphic designer William Fetter in 1960, and whose founding demonstration was Ivan Sutherland's Sketchpad, which let a person draw shapes on a screen with a light pen, save them and recall them.
Stop 15 of 15.
Fields
The trail ends where the field's oldest question, what can be computed at all, meets an entirely different physical basis for computing; the field traces to early 1980s proposals including Paul Benioff's quantum Turing machine and Richard Feynman's suggestion that quantum-mechanical hardware could efficiently simulate quantum systems, and as of the mid-2020s remains small-scale and experimental rather than a replacement for the classical computers this trail began with.
Create an account to keep this trail. Saving copies its stops into a collection of your own, which you can add to, reorder and share.
Where you have got to in this trail is kept by your own browser and is never sent to us. Clearing your browser data clears it. All trails.