Monday, October 12, 2015

Ada Lovelace Day: Grace Murray Hopper and Computer Programming

Today is Ada Lovelace Day, a day to blog about female computer scientists we admire. Augusta Ada Byron, Countess of Lovelace (10 December 1815 – 27 November 1852) is credited with authoring the first computer algorithm (which concerned a method for calculating a sequence of Bernoulli numbers) in 1843 for use on Charles Babbage's early mechanical general-purpose computer, the analytical engine.

This year I'm going to write a posting on Grace Murray Hopper (December 9, 1906 – January 1, 1992) aka "Amazing Grace", whose contributions to Computer Science are innumerable, the true successor to Ada Lovelace, she was one of the first programmers of an electronic computer, starting in 1944, SHE INVENTED THE FIRST COMPILER (for the A-0 programming language), and was instrumental in the development of machine-independent programming languages which led to the development of COBOL. She is credited with popularizing the term "debugging" for fixing computer glitches (in one instance, removing a moth from a computer).

A natural hacker, at the age of seven she decided to determine how an alarm clock worked, and dismantled seven alarm clocks before her mother realized what she was doing. She graduated from Vassar in 1928 with a bachelor's degree in mathematics and physics, and earned her master's degree at Yale University in 1930. In 1934, she earned a Ph.D. in mathematics from Yale under the direction of Øystein Ore. Her dissertation, New Types of Irreducibility Criteria, was published that same year. Hopper began teaching mathematics at Vassar in 1931, and was promoted to associate professor in 1941.

During World War II, she obtained a leave of absence from Vassar and was sworn into the United States Navy Reserve, She served on the Mark I computer programming staff headed by Howard Aiken. Hopper and Aiken co-authored three papers on the Mark I, also known as the Automatic Sequence Controlled Calculator. She continued to serve in the Navy Reserve, and remained at the Harvard Computation Lab until 1949, turning down a full professorship at Vassar in favour of working as a research fellow under a Navy contract at Harvard.

In the 1970s, Hopper advocated for the Defence Department to replace large, centralized systems with networks of small, distributed computers. Any user on any computer node could access common databases located on the network. She developed the implementation of standards for testing computer systems and components, most significantly for early programming languages such as FORTRAN and COBOL.

Thank you Grace Hopper.