Why Computers Need Small Steps You cannot text a computer: "Build me a website." You cannot say to a robot: "Make dinner." You cannot tell a program: "Sort out this spreadsheet." These are goals. They describe a desired result. But a computer has no idea how to get from "here" to "website built." It can only follow specific, individual steps — one at a time. This is why decomposition is not just useful in programming. In programming, it is essential . One Command at a Time Computers follow instructions one at a time, in order. This is the sequence idea from the first series. Each instruction must be: Specific — one clear action Achievable — something the computer actually knows how to do Complete — nothing left to guess If an instruction is too big — if it contains several actions bundled together, or if it requires figuring something out — the computer cannot follow it. > ❌ "Build a login page" > This is not one instruction. It is dozens: draw a box for the username, draw a second box for the password, hide the password behind little dots, add a Sign In button, decide what should happen when that button is tapped, check that both boxes were actually filled in... > ✅ "Draw a box on the screen and label it 'Username'" > This is one instruction. The computer knows exactly what to do. The Search Engine, Decomposed You type something into a search engine and results appear almost instantly. That feels like one thing. But underneath, dozens of decomposed steps happen: 1. Accept the text you typed as input 2. Check that the input is not empty 3. Remove extra spaces from the beginning and end 4. Convert all letters to lower case (so "Apple" and "apple" match the same results) 5. Split the input into individual words 6. Look up each word in the search index 7. Find pages that contain all the words 8. Score each page by relevance 9. Sort the results by score, highest first 10. Take the top 10 results 11. Format each result as a title, URL, and description 12. Display the results on screen That single experience — you searched and results appeared — is 12+ steps under the surface. Each step is small enough for a computer to carry out as a single command. Did you know? As Apollo 11 came down towards the Moon in 1969, its guidance computer was handed more work than it had time for, and it began flashing alarms. It did not crash. Its work had been broken into small separate jobs, each with a priority, so it quietly dropped the least important ones and kept the landing steps running. Good decomposition saved the mission. When Steps Are Too Big When a programmer writes an instruction that is still too big, one of two things happens: 1. An error The computer does not understand what to do, and it stops with an error message. 2. Wrong results The computer does something — but not the right thing — because the instruction was not specific enough. Both of these are signals: the step needs to be decomposed further. A useful question to ask for every step: "Can the computer do this as-is, or does it need to know more?" If it needs to know more, break it down. The Programmer's Thinking Process When a programmer gets a new task, their first question is almost never "how do I write this in code?" Their first question is: "What are all the steps this needs?" They think it through. They draw it out. They list everything that has to happen, in order, until they have a sequence of steps that are each specific enough to act on. Only then do they start writing actual code. This is decomposition. It is a thinking step that happens before the programming. A Worked Example: The ATM Machine You insert your card into an ATM and withdraw some cash. Here is what is actually happening: Step What Happens --- --- 1 Card inserted → read the card number 2 Display "Please enter your PIN" 3 Accept 4-digit PIN input (hidden) 4 Send card number + PIN to bank server 5 Bank checks if PIN matches card 6 If wrong: show "Incorrect PIN" and return to step 2 (up to 3 attempts) 7 If correct: show account balance and options 8 User selects "Withdraw cash" 9 User enters amount 10 Check if account has sufficient funds 11 If not enough: show error and return to options 12 If enough: deduct amount from account 13 Instruct cash dispenser to count and release the notes 14 Eject card 15 Print receipt (if requested) 15 steps — each specific, each achievable, each in the right order. The ATM program is a perfectly decomposed sequence of commands. 🎯 Try This Yourself The Five-Command Robot Arm One person is a robot arm. The other is the programmer. You need a small ball or crumpled paper ball, an empty cup, and a table. 1. Put the ball at one end of the table and the cup at the other. The goal: the ball ends up in the cup. 2. The robot arm understands only these five commands , and nothing else: - (a quarter turn) (a quarter turn) - 3. The programmer must write the whole list of commands out first , before the arm moves at all. No watching and correcting halfway. 4. Han…