# Timeline of scientific computing

The following is a timeline of scientific computing, also known as computational science.

## Before modern computers
### 18th century

* Simpson rediscovers Simpson's rule, a century after Johannes Kepler (who derived it in 1615 after seeing it used for wine barrels).
* 1733 – The French naturalist Comte de Buffon poses his needle problem.
* Euler comes up with a simple numerical method for integrands.

### 19th century

* First formulation of Gram-Schmidt orthogonalisation by Laplace, to be further improved decades later.
* Babbage in 1822, began work on a machine made to compute/calculate values of polynomial functions automatically by using the method of finite differences. This was eventually called the Difference engine.
* Lovelace's note G on the Analytical Engine (1842) describes an algorithm for generating Bernoulli numbers. It is considered the first algorithm ever specifically tailored for implementation on a computer, and thus the first-ever computer programme. The engine was never completed, however, so her code was never tested.
* Adams-Bashforth method published.
* In applied mathematics, Jacobi develops technique for solving numerical equations.
* Gauss Seidel first published.
* To help with computing tides, Harmonic Analyser is built in 1886.

### 1900s (decade)

* 1900 – Runge's work followed by Martin Kutta to invent the Runge-Kutta method for approximating integration for differential equations.

### 1910s (decade)

* 1910 – A-M Cholesky creates a matrix decomposition scheme.
* Richardson extrapolation introduced.

### 1920s

* 1922 – Lewis Fry Richardson introduces numerical weather forecasting by manual calculation, using methods originally developed by Vilhelm Bjerknes as early as 1895.
* 1926 – Grete Hermann publishes foundational paper for computer algebra, which established the existence of algorithms (including complexity bounds) for many of the basic problems of abstract algebra, such as ideal membership for polynomial rings.
* 1926 Adams-Moulton method.
* 1927 – Douglas Hartree creates what is later known as the Hartree–Fock method, the first ab initio quantum chemistry methods. However, manual solutions of the Hartree–Fock equations for a medium-sized atom were laborious and small molecules required computational resources far beyond what was available before 1950.

## 1930s

This decade marks the first major strides to a modern computer, and hence the start of the modern era.
* Fermi's Rome physics research group (informal name I ragazzi di Via Panisperna) develop statistical algorithms based on Comte de Buffon's work, that would later become the foundation of the Monte Carlo method. See also FERMIAC.
* Shannon explains how to use electric circuits to do Boolean algebra in "A Symbolic Analysis of Relay and Switching Circuits"
* John Vincent Atanasoff and Clifford Berry create the first electronic non-programmable, digital computing device, the Atanasoff–Berry Computer, from 1937-42.
* Complex number calculator created by Stibitz.

## 1940s

* 1947 – Metropolis algorithm for Monte Carlo simulation (named one of the top-10 algorithms of the 20th century) invented at Los Alamos by von Neumann, Ulam and Metropolis.
* George Dantzig introduces the simplex method (named one of the top 10 algorithms of the 20th century) in 1947.
* Ulam and von Neumann introduce the notion of cellular automata.
* Turing formulated the LU decomposition method.
* A. W. H. Phillips invents the MONIAC hydraulic computer at LSE, better known as "Phillips Hydraulic Computer".
* First hydro simulations occurred at Los Alamos.

## 1950s

* First successful weather predictions on a computer occurred.
* Hestenes, Stiefel, and Lanczos, all from the Institute for Numerical Analysis at the National Bureau of Standards, initiate the development of Krylov subspace iteration methods. Named one of the top 10 algorithms of the 20th century.
* Equations of State Calculations by Fast Computing Machines introduces the Metropolis–Hastings algorithm.
* Molecular dynamics invented by Bernie Alder and Wainwright
* A S Householder invents his eponymous matrices and transformation method (voted one of the top 10 algorithms of the 20th century).
* 1953 – Enrico Fermi, John Pasta, Stanislaw Ulam, and Mary Tsingou discover the Fermi–Pasta–Ulam–Tsingou problem through computer simulations of a vibrating string.
* A team led by John Backus develops the FORTRAN compiler and programming language at IBM's research centre in San Jose, California. This sped the adoption of scientific programming, and is one of the oldest extant programming languages, as well as one of the most popular in science and engineering.

## 1960s

* 1960 – First recorded use of the term "finite element method" by Ray Clough to describe the earlier methods of Richard Courant, Alexander Hrennikoff and Olgierd Zienkiewicz in structural analysis.
* 1961 – John G.F. Francis and Vera Kublanovskaya invent QR factorization (voted one of the top 10 algorithms of the 20th century).
* 1963 – Edward Lorenz discovers the butterfly effect on a computer, attracting interest in chaos theory.
* 1961 – Using computational investigations of the 3-body problem, Michael Minovitch formulates the gravity assist method.
* 1964 – Molecular dynamics invented independently by Aneesur Rahman.
* 1965 – fast Fourier transform developed by James W. Cooley and John W. Tukey.
* 1964 – Walter Kohn, with Lu Jeu Sham and Pierre Hohenberg, instigates the development of density functional theory, for which he shares the 1998 Nobel Chemistry Prize with John Pople. This contribution is arguably the earliest work to which Nobels were given for a computer program or computational technique.
* First regression calculations in economics.

## 1970s

* 1975 – Benoit Mandelbrot coins the term "fractal" to describe the self-similarity found in the Fatou, Julia and Mandelbrot sets. Fractals become the first mathematical visualization tool extensively explored with computing.
* 1977 – Kenneth Appel and Wolfgang Haken prove the four colour theorem, the first theorem to be proved by computer.

## 1980s

* Fast multipole method (voted one of the top 10 algorithms of the 20th century) invented by Vladimir Rokhlin and Leslie Greengard.
* Car–Parrinello molecular dynamics developed by Roberto Car and Michele Parrinello

## 1990s

* 1990 – In computational genomics and sequence analysis, the Human Genome Project, an endeavour to sequence the entire human genome, begins.
* 1998 – Kepler conjecture is almost all but certainly proved algorithmically by Thomas Hales.
* The appearance of the first research grids using volunteer computing – GIMPS (1996), distributed.net (1997) and Seti@Home (1999).

## 2000s

* 2000 – The Human Genome Project completes a rough draft of human genome.
* 2003 – The Human Genome Project completed.
* 2002 – The BOINC architecture is launched.

## 2010s

* Foldit players solve virus structure, one of the first cases of a game solving a scientific question.