Computing machines can be dated back to the advent of the abacus, a wooden rack holding two horizontal wires with beads strung across them. Several different types of arithmetic operations could be performed when these beads were manipulated. Another early calculator, later called Napier's Bones, made its debut in the early 1600's. This device, invented by Charles Napier, consisted of a series of rods that could be used to perform multiplication. The first digital calculation machine was built by Blaise Pascal in 1642. Pascal, intending to help his father (a tax collector), created a system of dials that could perform the addition of numbers. Several decades later, Gottfried Wilhelm von Leibniz invented a digital apparatus that could not only add, but could also multiply. It was not until 1820 that a mechanical calculator, developed by Charles Xavier Thomas, was introduced that could perform all four basic arithmetic operations.

While Thomas was busy creating the desktop calculator, Charles Babbage (a mathematics professor in Cambridge, England), began to design a more complex machine. In 1822, with financial help from the British government, Babbage demonstrated a working model of the Difference Engine. Though having limited adaptability and applicability, Babbage's mechanical design was wholly automatic, commanded by a fixed instruction program. Ten years later work halted on the Difference Engine as construction began on the Analytical Engine, a general purpose, fully program-controlled computer. This new engine, controlled by punched cards and operated by steam power, required only one attendant for operation. It also was never completed, blamed on the tooling or machining capability of the day.

Babbage's Analytical Engine, considered by many to be the forerunner of modern computers, has all the elements of what is considered a computer today. These elements include an input and output device, control unit, arithmetic processor, and storage capability.