Word about Beacon spreads fast. By lunch, eleven other outpost greenhouses want a copy of the hourly check.
"Let's send it to all of them right now," Comet says, already reaching for the relay switch.
Wren holds up the old printout of the fill loop. "Remember this one? It never stopped."
"If we had shared that, twelve greenhouses would have the same bug at once."
Comet pulls her hand back slowly.
Nova floats between them. "Sharing is a gift," she says gently. "Testing first makes it a safer one."
They agree to trace the check one more time before anything is sent.
Programs spread quickly. Sharing a program fast, or running it with many users, can have big effects.
Those effects can go beyond what the programmer intended, or can control.
People also use computing innovations in ways their creators never intended.
Responsible programmers try to think about unintended uses and their helpful and harmful effects.
But no programmer can think of every way an innovation might be used.
| Beacon shared with | A possible helpful effect | A possible problem |
|---|---|---|
| One greenhouse | The crew learns from it | A bug affects one tank |
| Twelve greenhouses | Many crews save time | One bug repeats twelve times |
| Every outpost at once | Everyone gets hourly checks | A bug spreads before anyone can test it |
| Week review | True or false? |
|---|---|
| Every algorithm can be built from sequencing, selection and iteration. | ? |
| REPEAT n TIMES runs its body a set number of times. | ? |
| REPEAT UNTIL checks its condition only after the body runs. | ? |
| An infinite loop happens when the ending condition never becomes true. | ? |
| Hand tracing is a way to find and correct errors. | ? |
What a week, developer. Tomorrow is Mission Quest: a loop game with your family.