Section 1.5 The IPO Model
The basic building blocks of programs (input, output, computation, conditional execution, and repetition) describe the kinds of instructions that appear in nearly every programming language. While these instructions tell us what programs can do, we still need a way to organize them into a coherent plan for solving a problem.
When we solve problems using a computer, we are not just writing code, we are designing a process that transforms information into a result. One simple and powerful way to structure this process is the InputโProcessโOutput (IPO) model.
-
Input: What information does the program need?
-
Process: What computations or steps are performed on that information?
-
Output: What result should the program produce?

Every program you write, no matter how small or large, can be understood in terms of these three components. Even a single line of code often follows this model. Seen this way, the IPO model does not replace the program building blocks, it organizes them. Each block plays a role in transforming inputs into outputs through a sequence of well-defined steps.
As programs grow more complex, this organization becomes increasingly important. By using IPO to guide problem solving, we can break large tasks into smaller subtasks, each of which follows the same input-process-output pattern. Functions are a natural way to represent these subtasks, allowing us to combine simple building blocks into larger solutions.
A common challenge for beginners in computational problem solving is translating a problem description into an actionable plan. Before writing code, you can ask what inputs are required, what processing must occur, and what output should be produced. Thinking in this way separates what the program should do from how it is implemented.
You have attempted of activities on this page.
