Computing History

Introduction

Computing history is closely related to the history of mathematics. Ever since early man began using slashes to represent how many bison he had killed the journey of mathematics began and so too did computation. Complexity in accounting for crops, land, populations, etc., grew and so did numeration systems. With the invention of paper during the second century AD in China, complex computations could be handled better. However, throughout time paper wasn't enough to match the growing complexity of computation, so devices or machines emerged to not only help with calculation but to also help with memory for keeping a computation trail to help in tracking errors.

Abacus

The abacus was probably the first such computational device known. The abacus originated in the Far East roughly 5,000 years ago. It is a manually operated calculator consisting of a row of rods each having a multiple of beads that slide on them. The beads are in 2 sections divided by a perpendicular bar. One section of beads consists of representing 0 or 5 and the other section represents units. However, it was tough to represent a 0 because it didn't have a bar without beads. Each rod going from right to left represents a significant digit.

Napier's Bones.

John Napier a Scottish mathematician, who invented logarithms, performed multiplication and division via rods or bones. This marked one of the historical and mechanical means for computation in 1617. The bones could perform multiplication, division, squares roots and powers.

Pascal's Arithmetic Machine.

In 1642, Blaise Pascal, a French mathematician and religious philosopher, invented one of the first known mechanical calculators. By age 17, Pascal wrote a paper about hexagons in conic sections i.e. parabolas, hyperbolas and ellipses, that astonished Rene Descartes. By age 20 Pascal built the first adding machine for integer counting to perhaps help his father do tax collecting work. It consisted of 10 wheels representing our 10 digits 0 - 9. Numbers could be as high as 8 columns. This mechanical gear system performed addition by stepping through the wheels in the number of intervals equal to the number to be added. Furthermore, while working with Pierre de Fermat, Pascal contributed to differential calculus and also came up with what is known today as Pascal's triangle for simplifying calculation of coefficient expansion.

Leibniz Stepped Reckoner.

Gottfried Wilhelm Leibniz, a German mathematician, added to Pascal's adding machine by developing a more advanced device in 1694, which was called the "Stepped Reckoner." This machine was able to multiply, divide and performed square roots. Leibniz's major contribution was the advantages of the binary system for mechanical computers as opposed to the decimal system.

George Boole.

George Boole, another true founder of computer science, was an English mathematician who helped form the basis of digital computing. In 1847, Boole wrote a book called "The Mathematical Analysis of Logic", which established formal axioms of logic that underpin symbolic logic. In conjunction with algebraic operations, Boole used the notion that a 1 is universal and a 0 is the empty set. For instance, if A represents the set of all apples then the expression 1 - A represents every thing except for apples. He used subtraction, addition and multiplication which respectively correspond to the symbolic operations of the logical not (!), or (||) and and (&&).

Boole also wrote various other papers and books namely "An Investigation of the Laws of Thought, on Which Are Founded the Mathematical Theories of Logic and Probabilities", "Treatise on Differential Equations" and "Treatise on the Calculus of Finite Differences." Even though his work at his time barely went noticed, Boole contributed to probability, numerical analysis and computation theory, all of which are important to modern day computing.

Babbage's Analytical Engine.

By 1835, Charles Babbage, an English inventor, mathematician and even cryptanalyst, came up with the "Analytical Engine," which combined arithmetic operations with decisions based on its own computations. Babbage's "Analytical Engine" was the first computer to provide revolutionary traits that exist in modern day computing. Such operations as comparing quantities thus branching to other instructions, looping and inter-program numerical changing based on results. The "Analytical Engine" used punched cards for data and operations. There were 2 general sections a storage unit and a mill, which performed arithmetic calculations. The punched cards provided control for transferring numbers from storage to the data processing mill. However, because Babbage was never good at implementing his designs, his "Analytical Engine" was never truly completed, and as a consequence immediately after his death in 1871, Babbage's work was dismissed and ignored. So, it wasn't until many decades later, that his work was universally noted, with the advent of the modern day computer. Furthermore, Babbage also broke the Vigenere cipher, not with any mechanical calculating device but with intellect.

Ada Lovelace.

In addition to machines and devices other pioneers deserved to be mentioned. Ada Lovelace is regarded as the world's first programmer. Of course, the modern day programming language called Ada is named after her. She was born in 1815 in England to Anna Isabella Byron and George Gordon, Lord Byron the famous poet. Although, Lord Byron did not have any affect in Ada's life due to a divorce, Ada did interact with Augustus DeMorgan, another mathematician of boolean algebra, and Charles Babbage, who actually became a lifelong friend. Together Ada and Babbage worked side-by-side and Ada had enough foresight to see that Babbage's Analytical Engine could do more than just arithmetic computations and possibly be a manipulator of symbols.

Alan Turing.

Born in 1912, Alan Turing went to King's College, Cambridge, a Mecca of Intellectuals, in 1931. It was a crucial time in mathematics, because the ironic questioning of the absoluteness of mathematics was being debated, i.e. Kurt Godel's theory of undecidability of whether or not every and all math questions could be answered. Because Turing was so immersed in this work, it was then that Turing produced his most genius mathematical paper, "On Computable Numbers", in 1937. Although, it did not provide an answer to Godel's theory, it led to the Turing Machine, which was ahead of its time because it laid the foundation for the modern day programmable computer as we know it today. To view more about computation visit: http://www.bletchleypark.net/computation.

John von Neumann.

Born in 1903, John von Neumann demonstrated significant math knowledge at a young age, in fact by age 21 von Neumann received his Ph.D. in Mathematics. By 1930 von Neumann became a professor at Princeton University. During World War II von Neumann worked as a consultant at Los Alamos for doing research on the development of the atomic bomb. John von Neumann has contributed a lot to John Nash's Game Theory. With respect to computers, von Neumann worked on the ENIAC, the United State's first programmable computer, which was built in 1943. The ENIAC used hard-wired programming by plugging wires into circuit boards, setting flip-flops manually, all done using external instructions. von Neumann recognized that this external instruction set could be stored within the computer. As a result in 1946, the world's first computer that could store a program was born, called the EDVAC. Around the same time, Alan Turing's equivalent computer, the ACE, was built in England. This chain of technological advances led the operating system which acted as a universal Turing machine, in that it provided the means for allowing a computer to execute various stored programs.

Claude Shannon.

Claude Shannon was another pioneer in computer science. Claude Shannon graduated from MIT in 1940 with a PhD. in Mathematics. During the 20th century, Claude Shannon provided the foundation for communication and information theory. In particular, Shannon's paper "A Mathematical Theory of Communication" published in the Bell System Technical Journal in 1948, founded the subject of information theory. Shannon also added a lot of significance to the foundations of cryptology in another important paper called "Communication Theory of Secrecy Systems", published in 1949. In fact, some current day research papers still reference this paper.

Admiral Grace Hopper.

Admiral Grace Hopper was another significant pioneer in computer science. Hopper received her PhD in mathematics from Yale and joined the U.S. Navy in 1943 where she worked as a programmer in the Bureau of Ordnance Computation Project at Harvard. Hopper then joined Eckert-Mauchly Computer Corp. in 1949, to work on the UNIVAC I. It was there that Hopper discovered the very first computer "bug", which was actually a moth within the hardware. Hopper provided major design contributions to the development of COBOL and she essentially continued her computing work in the Navy all the up to 1992 at the time of her death. During her lifetime, Hopper received numerous awards from colleges and peers of which over 40 were honorary degrees. Hopper is quoted as saying, "You manage things, you lead people. We went overboard on the management and forgot about leadership." When asked of her most favorite accomplishment Hopper said, "All the young people I have trained over the years."