Amazing Software

Around the year 1690 the Mathematician / Philosopher Gottfried Leibniz invented the first calculator. It was a mechanical device capable of multiplication and division. Leibniz is also credited with co-founding Calculus and inventing the binary number system.

In 1840 an English mathematician by the name of Ada Lovelace wrote a computer program for Charles Babbage's "analytical engine" - also a mechanical calculator of sorts, but designed to be programmable. Charles' machine never quite worked properly - but Ada became the world's first computer programmer by more than 100 years.

Ada Lovelace
Lady Lovelace
The 1st Computer Programmer

Computer programs are the crucial link between new ideas for solving problems and ever-faster machines for expressing those solutions. Every computer program is a precisely constructed series of instructions which express these ideas or "algorithms".

In 1936 the British mathematician Alan Turing invented the "Turing Machine" - a theoretical description of a computing machine which he used formalize the analysis of algorithms. One of the more intriguing concepts Turing investigated was the notion of developing an algorithm which would analyze other algorithms - to determine if they would solve a given problem. Among other things, Turing showed that there cannot be a computer program written which will determine whether any computer program it analyzes would ever stop running - this is known as the "halting problem".

The halting problem lies at the foundation of an important research area in computer science known as computability theory. Simply stated, computability deals with the question of whether a given problem has a computable solution. If it is decided that there is an algorithm to compute a solution for a problem, then a closely related area in computer science is often consulted - complexity theory. This body of knowledge attempts to ascertain how difficult, or time-consuming, or complex an algorithm is.

The capabilities of today's computers are impressive. In 1997, a robot by the name of "Deep Blue" defeated the human world champion of chess, Garry Kasparov. This represents a milestone which many in the industry believed would never be achieved.

chess
Internet Chess Club

Computers are routinely used in automatic speech recognition applications. Software which recognizes speech analyzes the sound received through a microphone and attempts to match it to a large internal vocabulary. Amazingly these programs are now quite good at this job and can generally recognize speech while it is being spoken - ie. in "real time".

Computers are used to re-construct 3D images of the brain from x-ray machines. They are used to design houses, cars spaceships and other computers. They are used to optimize fuel consumption in your engine, to cut logs in a sawmill, to operate your microwave.

Computer programs are even used to search for Extraterrestrial Life!

Setiat
One of the radio telescopes used to search for "ET"

Play with a Java terrain modeler
Play with fractals

top

See also: