Decompose the problem — OCR A-Level Computer Science
Decompose the problem explained
This statement asks you to break the problem into smaller parts, make sure each part is suitable for a computational solution, and justify the decisions you make in doing so.
Read the full explanation
Decomposition means dividing a large problem into sub-problems that can each be understood, designed and tested separately. Suitable for computational solutions means each part can be expressed as data to store, inputs to receive, and steps a program can carry out to produce outputs. For example, a library system might split into borrowing, returning, searching and fines, because each has its own inputs, such as a book ID and a member ID, and its own outputs. Justifying decisions means explaining why you chose each split point, for instance separating the user interface from data storage so each can be developed and tested independently.
Your focus
- Break a given problem into at least three smaller sub-problems.
- State the inputs and outputs for each sub-problem.
- Justify each decision about where the problem has been divided.
Decompose the problem exam tips
Marking Points
- Divides the problem into smaller sub-problems, each with a clear purpose.
- Identifies the inputs, processing and outputs for each part.
- Shows that each part can be expressed as steps a computer can carry out.
- Justifies each decision about where the problem is split, linked to the problem itself.
Examiner Tips
- 💡Draw a simple diagram of the parts and name each sub-problem with its inputs and outputs in one sentence.
- 💡Give a reason for each split that refers to the specific problem, not to general good practice.
- 💡Check that every part could be written as a set of steps, data and outputs, and rework any part that cannot.
Common Mistakes
- Splits the problem by coding convenience rather than by function; divide by distinct purposes and justify each boundary.
- Lists sub-tasks without stating their inputs or outputs; state the inputs and outputs for each part.
- Gives decisions with no reason; add why the split helps development, testing or clarity.