Margaret and the Moon

Dean Robbins


Margaret and the Moon

CT Discussion Companion



This true story about Margaret Hamilton shows her love for mathematics as a child and how that grew into a love for more complex mathematics later. It then describes her work for NASA programming software for the first lunar landing. In very age-appropriate, engaging language, it covers both her childhood and her contributions to that important first lunar landing.

Amidst the storytelling, it weaves in several very important concepts for computing. First, it talks about how software works and the fact that programmers write the code that tells computers what to do. Second, it focuses on the need to think about all the possible scenarios, a part of the conditionals learning trajectory in computational thinking and very related to debugging. Third, it introduces the concept of real-time constraints in which the computer was given too many requests to fulfill in the time required to adjust the rockets for landing. She had anticipated this situation, prioritizing requests and ignoring less important ones so that it could land safely on the moon.




Questions to discuss with students after reading this story in order to connect the reading to computational thinking.


  1. Margaret is a programmer. How did that job help the first lunar landing? [She wrote the programs or software that controlled the space ship that landed on the moon.]

  2. What was it important for Margaret to do as she wrote the code? [Think of everything that could happen and make sure the code handled every situation]

    1. Are there times in your life when you have to think ahead to what might happen in order to prepare? [I need to look outside before I leave or check the weather to decide what clothing to bring to school that day.]

    2. Are there things you do in case you make a mistake? [I need to remember to put my library book in my backpack in case I forget it when I’m getting ready for school. I have two jackets at home in case I lose one of them.]

  3. What happened that almost caused a big disaster? [The computer was asked to do so many things that it would not have time to finish them and control the landing at the same time.]

  4. Margaret had thought this might happen. What had she put in her code to make the computer do if it got too many requests? [She had it ignore the requests that did not absolutely need to be completed. Instead, it focused on landing safely.]



Program your own in-class robot.

  • Black Facebook Icon
  • Black Twitter Icon

© 2018 UChicago STEM Education