Kids, Code, and Computer Science Magazine

Grace Hopper

Charis Tsevis

One of the first female programmers, Grace Hopper also worked as a mathematician and had an unusual career for women in the 1900s.

As a child, she took apart seven alarm clocks before her mother realized her daughter would not stop until she figured out how they worked. At the end of her career, Hopper had reached the rank of Rear Admiral in the US Navy with a ship named after her. In between, she was the third programmer hired to program the IBM Mark I at Harvard in 1944, the first modern computer, she developed the first software compiler to translate high level programming code into machine code computers could understand, taught mathematics and programming, worked in business, and helped the US Navy standardize its computing efforts.

Like John Backus, the IBM project leader whose team created FORTRAN, Hopper was very approachable. When she taught mathematics at Vassar, for example, she made her students play bridge, a card game, then calculate odds for different hands and outcomes. She’s also famous for introducing the idea of debugging software because of a moth that landed on an early computer and stopped the machine. Hopper teased that they had to debug the machine, then pasted the hapless moth into a notebook which is now in the Smithsonian museum.

Hopper also said, “Women turn out to be very good programmers for one very good reason. They tend to finish up things, and men don’t very often finish.” While I won’t argue the merits, Hopper is proof women can accomplish great things with technology.

Born on December 9, 1906 in New York, Grace Hopper had a natural interest in math and sciences. Her mother enjoyed mathematics. Her father worked as an insurance broker and had a large book collection. As a child, she built odd things with her Struktiron kit of beams, nuts, and bolts, what today we call Erector sets or Legos. She also followed her grandfather, a surveyor for New York City, as he laid out new streets, often holding the pole needed to measure distances.

More unusual, she entered Vassar College to major in mathematics and physics then earned her masters and PhD at Yale, all by 1934. And she found time to marry Vincent Hopper, an English instructor at New York University, in 1930. She started teaching at Vassar in 1930, after her honeymoon, and earned her PhD while teaching.

Hopper had an unusual method of teaching. For one class, students planned a city, calculated the cost to run the city, and then figured out how to generate revenues. Other times, she started class with the final exam to help students understand what they had to learn.

When the US entered World War II, Grace Hopper eagerly tried to join. Her family had a long military history. Her personal hero and great-grandfather, Alexander Wilson Russell, had served as a rear admiral in the US Navy. Russell’s son served in the Spanish-American War in the Navy and President Wilson appointed Russell’s grandson to the US Navy Midshipman School.

However, to the US Navy, Hopper was too old at age 36 and 15 pounds under the minimum weight of 115 pounds. Plus she was a woman.

In 1943, the Navy accepted women to serve stateside to help free up men to serve at sea. Hopper took a leave of absence from teaching at Vassar, convinced the military to overlook her age and weight, and joined the WAVES, or Women Accepted for Voluntary Emergency Service. She graduated top of her class (no surprise) from Midshipman’s School as Lieutenant Junior Grade (JG).

Because of her advanced degrees in mathematics and her teaching experience, Hopper was assigned to the Bureau of Ordnance Computation Project to help compute firing tables for naval weapons. She went to work with the IBM Mark I computer at Harvard under the direction of Howard Aiken.

In 1937, Aiken had presented the idea to IBM to build the Automatic Sequence Controlled Calculator (ASCC), later called Mark I by Harvard University’s staff. It was an electro-mechanical computer used during the last part of World War II. Built from switches, relays, rotating shafts, and clutches, the Mark I used 765,000 components and hundreds of miles of wire. The Mark I was 51 feet long, eight feet high, and two feet deep. It weighed 10,000 pounds. The basic calculating units had to be synchronized mechanically, so they were run by a 50-foot shaft driven by a five-horsepower electric motor. The Mark I had 72 words of storage and could perform three additions a second.

Hopper wrote the firing tables as a set of instructions translated into binary code, zeros and ones, the Mark I could understand. The binary code was a series of holes punched into paper tape. The computer read a punched hole on tape as 1 and no hole as 0.

Not only did Hopper do well, as the third person to program the Mark I, and the first woman, she also did more. To help others, she wrote a 500 page book to describe how to operate the computer, A Manual of Operations for the Automatic Sequence Controlled Calculator. It was another sign Hopper’s interests extended well beyond rote work, in this case, to include computer operations and technical documentation.

After the war, Grace Hopper continued to work with the Mark II and Mark III computers. She continued to look for ways to allow all scientists and non-scientists use computers without having to learn the arcane and complicated method of programming the Mark computers. In 1949, she went to work for Eckert-Mauchley Computer Corporation helping to build the first Univacs (Universal Automatic Computer). The first digital computers, Univacs used vacuum tubes instead of relay switches. It also had internal memory to hold instructions.

Her original staff at Eckert-Mauchley included four men and four women. One of her projects helped the computer translate its own codes and use pre-programmed subroutines. The program was called the A-0 compiler. It was the first example of software able to translate programming languages people use into machine code computers understand. Hopper also encouraged her team to collect and share common bits of programs to reduce error and duplication of effort.

Then Hopper and her team started work on a program to be used for business tasks on the Univac computers. By 1955, the code included twenty business commands, including count and display. The program, FLOW-MATIC, became a model for a new programming language COBOL (COmmon Business Oriented Language) which Hopper acted as an advisor.

The switch from the Navy and academia at Harvard to business repeated itself through the rest of Hopper’s career. She retired from the Navy many times only to be called back to active duty to work on projects and lead teams on computer projects.

Throughout, she advocated ideas we now consider common sense, for example, the use of many computers instead of massive computers like the Mark I or Univac. Or, as Hopper put it, “In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.”

While Grace Hopper had many accomplishments and skills as a technologist, marketer, teacher, politician, and business person, perhaps the most accurate description of her came from Jay Elliot, an early Apple employee and author, who described Grace Hopper as appearing to be “‘all Navy’, but when you reach inside, you find a ‘Pirate’ dying to be released”. Whether destroying alarm clocks as a child or pasting a burnt moth into a computer log, Hopper had a genuine ability to engage people and technology. She’s a great role model for anyone, regardless of gender.

Learn More

Grace Hopper

Mark I



Also In The May 2014 Issue

Computer Science Unplugged

The Computer Science Unplugged movement introduces non-technical people to computer hardware and software concepts that drive the technologies we use.

What is Computational Thinking?

While computers think in rigid predictable patterns, learning computational thinking helps us understand how and why computers work.


We've all used Captchas and found some impossible to solve. Here's why they exist, how they work, and less frustrating alternatives.

Data Types

Programming languages use data types to allocate memory and enforce data integrity. They also reveal the nature of a language.

Lauren Ipsum

If the idea of a computer science book without computers upsets you, please close your eyes until you've finished reading.

The Turing Test

The Turing Test, and its creator Alan Turing, have had a profound effect on computer science and artificial intelligence.

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

May 2014 Learn More Links

Links from the bottom of all the May 2014 articles, collected in one place for you to print, share, or bookmark.


One of two key programming languages (Lisp is the other), FORTRAN defined many of the key ideas used in programming languages.

May 2014 News Wire

Interesting stories about computer science, software programming, and technology for the month of April 2014.

How to Create (and Crack) Secret Codes and Ciphers

Secret codes, or ciphers, are a great way to teach computational thinking.

Grace Hopper

One of the first female programmers, Grace Hopper also worked as a mathematician and had an unusual career for women in the 1900s.


Bogons are not an evil race of aliens. But they do shine a light on one part of the internet little known outside of a few security technologists.