Algorithm Design and Problem Solving · 4 question types
Past paper frequency (2018 to 2024)
This topic accounts for approximately 6% of your exam marks.
Decomposition, abstraction and structure charts appear as design-focused questions.
Abstraction is the process of removing unnecessary detail from a problem so you can focus on the parts that matter.
A good model of a problem captures the essentials and leaves out the rest. The classic textbook example is the London Underground map: it hides the real geography of London (distances, road layouts, where the river runs) and shows only which stations connect to which lines, because that is the only information a traveller needs.
When building a solution, you keep only the data and behaviour the program actually needs:
| For a school attendance system, KEEP... | THROW AWAY... |
|---|---|
| Student name and ID | Hair colour, favourite food, height |
| Attendance status (present/absent) per day | Mood, weather, lunch choice |
| Class group | Phone wallpaper |
A program that tracks every irrelevant fact would be slower, harder to write and harder to maintain.
calculate_percentage(presents, total) hides the multiplication and division behind a clean name).Describing what abstraction means
What comes up: a 2-mark question asks you to describe what is meant by abstraction.
Write (two marks): (1) removing or ignoring unnecessary details from a problem; (2) so that you can focus on the elements that are actually needed for the solution. One mark for each idea — both must be present for full marks.
Watch out: a vague answer such as "simplifying the problem" may earn one mark on its own, but you need the second idea (focusing on what matters, or filtering out irrelevant details) to secure both marks. Do not confuse abstraction with decomposition: abstraction is about hiding detail, not about breaking a problem into smaller parts.