๐Ÿ’ป Deep Dive ยท Programming

Explore the Code โ€” Right From Your Phone

Got a few minutes in line? You don't need a computer to start thinking like a programmer.

๐Ÿ”ง Try It Now: Hack Your Own Score Link

When you finish the mission, the site builds a share link that looks something like this:

apollo13.quest/#name=Alex&troop=113&score=8&total=10&rank=Flight%20Director

Everything after the # is just data written into the link. Try this: open a share link (yours or a friend's), tap the address bar, and change the score or the name. Reload. The celebration card changes!

๐Ÿค” Soโ€ฆ can you cheat your way to a Mission Commander card?

Nope โ€” and the reason is a big idea in real software. The web page runs entirely on your phone, so anyone can change what it shows. That's called client-side code, and programmers know they can never fully trust it. It's why banks check everything again on their own servers โ€” and why the only rank cards that count are handed out by a human at the Apollo Table who watched your score screen. The humans are the server.

๐Ÿง  Read Real Code: the 10-Decision Brain

This is not a simplified example โ€” it's the actual code running on your phone right now, from the file assets/js/app.js. This one structure holds NASA's answers to all 10 decisions:

const CORRECT_ANSWERS = {
    '4':  'squeeze',      // Decision #1: move to the LM
    '5':  'shutdown',     // Decision #2: power down the CM
    '6':  'freereturn',   // Decision #3: use the Moon's gravity
    '9':  'sunearth',     // Decision #4: navigate by Sun + Earth
    '11': 'burn',         // Decision #5: fire the PC+2 burn
    '12': 'extreme',      // Decision #6: extreme water rationing
    '13': 'buildmailbox', // Decision #7: build the CO2 mailbox
    '16': 'silence',      // Decision #8: low-power comms
    '17': 'jumpstart',    // Decision #9: LM-to-CM recharge
    '18': 'early'         // Decision #10: jettison SM early
};

This is called an object โ€” a list of keys (the slide numbers) paired with values (the right choice). When you lock in a decision, one line of code asks: does your choice equal the value for this key? Ten little questions like that add up to your score.

๐Ÿ’ฌ Talk it over in line:

  • Why do you think decisions lock after your first tap instead of letting you flip answers until they're right?
  • If you added an 11th decision, what three places in the site do you think would need to change? (Hint: the slide itself, this object, and the score screen.)

๐ŸŒ™ The Computer That Flew to the Moon

The phone in your hand is running this website with power to spare. Now meet the Apollo Guidance Computer (AGC) โ€” the machine that navigated Apollo 13:

  • โš–๏ธ Weighed about 70 pounds โ€” a checked suitcase
  • ๐Ÿง  Had roughly 4 kilobytes of erasable memory (RAM). Your phone has millions of times more.
  • ๐Ÿงต Its programs were stored in rope memory โ€” wires literally woven through tiny magnetic rings by hand, mostly by women workers whose weaving had to be perfect. Software you could touch.
  • โŒจ๏ธ No screen, no mouse โ€” astronauts typed verb and noun codes into a panel called the DSKY ("Verb 37, Noun 31โ€ฆ")
  • ๐Ÿ‘ฉโ€๐Ÿ’ป The flight software team at MIT was led by Margaret Hamilton, who helped invent the very idea of "software engineering" as a serious discipline

And here's the Apollo 13 connection you already lived through on slide 19: after days powered down and freezing, the Command Module's computer had to be brought back to life before reentry โ€” a restart sequence nobody had ever tried in flight. It worked. Good code, written carefully, by people who assumed things would go wrong: that's the whole discipline in one story.

๐Ÿ  When You Get Home

Everything on this site is open source โ€” free for you to download, break, and rebuild. Three challenges, easiest to hardest:

  1. Change a rank name. Find getScoreRank in app.js and rename "Ground Crew" to something of your own.
  2. Add a decision timer. Show how many seconds each choice takes.
  3. Build your own mission. Copy this project's structure and tell a different story โ€” Apollo 11, a Mars rover, your troop's toughest campout.

The Programming merit badge page shows how these count toward Requirement 5, and the full code is on GitHub.

๐Ÿฆด Ready for the Real Craft? Build a Walking Skeleton

Tinkering with this site teaches you to read and change code. There's a second path that teaches you what professional software engineers are actually expected to know now โ€” and it was built by the same family that built this exhibit.

The Walking Skeleton Tutorial walks you through building the smallest possible real web app โ€” a "Hello World" with a spine: version control, tests you watch catch a planted bug, configuration, logging, health checks, security, a container, and CI that turns a bad change red before anyone gets hurt. Twenty-one small modules, one commit each, with Claude Code as your patient tutor โ€” it makes one tiny change at a time and asks you to predict what will happen before every check runs. Prediction before action: same discipline Mission Control used for every switch flip on Apollo 13.

Honest fine print: this one isn't a phone activity โ€” you'll need a computer with Claude Code installed (which uses paid Claude usage), and about 4โ€“6 hours split across several sittings. Great for older scouts, or as a project to work through with a parent or counselor.

๐Ÿฆด Start at walkingskeleton.org โ†’

๐Ÿ“š Sources for Skeptics

A 70-pound computer with 4KB of RAM flew people to the Moon? Check the record: