---
title: "Reading a Program Someone Else Wrote"
description: "Most code a person meets was written by somebody else. Working out what an unfamiliar program does, and then changing it on purpose, is a different skill from writing one from a blank screen."
canonical: https://lightmysky.com/learn/computing/reading-a-program-someone-else-wrote-mt_VdxhuxjBSn
source: https://lightmysky.com/learn/computing/reading-a-program-someone-else-wrote-mt_VdxhuxjBSn.md
retrieved: 2026-09-12
---

> **Agent view.** This is the Markdown twin of the page, for tools and assistants.
> When to use this site, and the call that answers each job: https://lightmysky.com/agent-instructions.md
> API description (OpenAPI 3.1): https://lightmysky.com/openapi.json · Authentication: https://lightmysky.com/auth.md
> Pricing: https://lightmysky.com/pricing.md · Catalog: https://lightmysky.com/llms.txt · Full catalog: https://lightmysky.com/llms-full.txt
> Every machine-readable file on this domain: https://lightmysky.com/.well-known/ai-catalog.json
> Ask for Markdown with `Accept: text/markdown`, a `.md` address, or `?mode=agent`.

# Reading a Program Someone Else Wrote

Most code a person meets was written by somebody else. Working out what an unfamiliar program does, and then changing it on purpose, is a different skill from writing one from a blank screen.

Subject: Computing · Area: Computing Fundamentals · Ages 13 to 14
Page: https://lightmysky.com/learn/computing/reading-a-program-someone-else-wrote-mt_VdxhuxjBSn

## Ready when they can

- Say in one sentence what an unfamiliar short program does, before running it
- Point at the part that would have to change to alter one named behaviour
- Make that change without breaking the rest, and say what was checked afterwards

## Lesson: Read it before you run it

Most code you meet was written by somebody else. Reading it differs from writing it. Your first job with a strange program is to say in one sentence what it does, before you run it.

**Example.** Read this line: if 7 > 5 then 10 else 20. The test 7 > 5 is true, so the program picks the value after then, which is 10. Try another: if 3 = 4 then yes else no. Here 3 equals 4 is false, so the program picks the else answer, which is no. Branches set the kind. Words compare too.

To change one behaviour, point at the part that controls it. In the line if score >= 50 then pass else retry, the test score >= 50 reads as score is 50 or more, and the pass mark lives inside it. Raising the mark to 60 means changing that number and nothing else.

After any change, check the rest still works. Rerun an old case that should stay the same, plus the new case you wanted. If 4 degrees now reads icy while 11 still reads ok, your one change landed cleanly.

**Recap.** Predict from reading, change the one part in charge, and recheck old plus new cases.

## Practice

14 questions on this page, each with its working shown.

## Needs first

- [Finding a Bug by Changing One Thing at a Time](https://lightmysky.com/learn/computing/finding-a-bug-by-changing-one-thing-at-a-time-mt_DMgajrUSy_)

## Opens up

- [Tracing a Program by Hand](https://lightmysky.com/learn/computing/tracing-a-program-by-hand-mt__rsnZ5Goow)
- [Writing an Algorithm Down: Flowcharts and Pseudocode](https://lightmysky.com/learn/computing/writing-an-algorithm-down-flowcharts-and-pseudocode-mt_RCm-4b4Lof)
