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 programme: "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: create an HTML form, add a username field, add a password field, add a submit button, connect the button to a handler function, check if the fields are filled in... > ✅ "Create a text input element with the label '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. 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 programme is a perfectly decomposed sequence of commands. ✅ Summary Computers follow instructions one at a time , and each instruction must be specific and achievable on its own. Big, vague goals like "build a website" or "search for something" are not instructions — they are goals that must be decomposed into the specific steps needed to reach them. When steps are too big, the result is either an error or wrong output. Decomposition is the thinking work that happens before programming: breaking the goal into an ordered sequence of steps, each small enough to be a clear command. Coming up next: Putting It All Together — a complete problem, decomposed all the way down to exact commands, and a look at what comes next in your learning journey.