Margaret Hamilton


Pioneer in Computer Science


Margaret Hamilton
Learn More
This is a fan-made website. If you want to learn more about Margaret's brilliance click here.
Margaret Hamilton
Margaret Hamilton

Innovator

Margaret Heafield Hamilton (born August 17, 1936 - American) was director of the Software Engineering Division of the MIT Instrumentation Laboratory.

She is credited with coining the term "software engineering."

Hamilton received the Presidential Medal of Freedom from President Barack Obama for her work leading to developing on-board flight software for NASA's Apollo Moon missions.

...

Education

Hamilton studied Mathematics at Earlhampton college and earned a BA in mathematics with a minor in philosophy.

She cites Florence Long, the head of the math department, helping with her desire to pursue abstract mathematics.

Her poet father and headmaster grandfather inspired her to include a major in philosophy in her studies.

...

Career

She developed software for predicting weather, programming on the LGP-30 and PDP-1 computers at Marvin Minsky's Project MAC.

At the time, computer science and software engineering were not yet established disciplines; instead, programmers learned on the job with hands-on experience.

...

SAGE Project

From 1961 to 1963, Hamilton worked on the Semi-Automatic Ground Environment (SAGE) Project at the MIT Lincoln Lab. She was one of the programmers who wrote software for the prototype AN/FSQ-7 computer (the XD-1).

SAGE was soon developed for military use in anti-aircraft air defense. Her efforts on this project made her a candidate for the lead developer for Apollo flight software.

...

Draper Laboratory

She was responsible for developing software for the Apollo command module, lunar lander and Skylab. This included error detection and recovery software such as restarts and the Display Interface Routines (also known as the Priority Displays).

Her areas of expertise include:

  • Systems design and software development
  • Enterprise and process modeling
  • Development paradigm
  • Formal systems modeling languages
  • System-oriented objects for systems modeling and development
  • Automated life-cycle environments
  • Methods for maximizing software reliability and reuse
  • Domain analysis, correctness by built-in language properties
  • Open-architecture techniques for robust systems
  • Full life-cycle automation
  • Quality assurance, seamless integration
  • Error detection and recovery techniques
  • Human-machine interface systems
  • Operating systems
  • End-to-end testing techniques
  • and life-cycle management techniques

These made her code incredibly reliable because they helped programmers identify and fix anomalies before they became major problems.

...

Apollo Program

The Apollo Guidance Computer and the onboard flight software averted an abort of the landing on the Moon.

Three minutes before the lunar lander reached the Moon's surface, several computer alarms were triggered.

Hamilton's priority alarm displays interrupted the astronauts' standard displays to warn them that there was an emergency "giving the astronauts a go/no go decision (to land or not to land)."

Jack Garman, a NASA computer engineer in mission control, recognized the meaning of the errors presented to the astronauts and shouted, "Go, go!" They continued.

Hamilton later wrote of the incident: The computer (or rather the software in it) was smart enough to recognize that it was being asked to perform more tasks than it should be performing."

...

Legacy

The IEEE Software September/October 2018 issue celebrates the 50th anniversary of software engineering. In 1969, Hamilton coined the term "software engineering" during the early Apollo missions. She was concerned with legitimizing software development as an engineering discipline.

In 2019, to celebrate 50 years to the Apollo landing, Google decided to tribute Hamilton at the Ivanpah plant in California. The mirrors at the plant were configured to create a picture of Hamilton and Apollo 11 by moonlight.