9. Algorithm Design and Problem-Solving
Computational thinking (abstraction, decomposition), identifier tables, pseudocode with the three basic constructs, structured English and flowcharts (and converting between them), stepwise refinement and logic statements.
Statometer46RegularNext Paper 269%Everything for this topic — study hub
AS Level · 9618 · Paper 2
Statometer — what 33 real papers say about this topic and each of its 3 syllabus bullets
Regular · #11 of 12 in AS Level · recomputed with every new session
Comes up most sessions for a few marks — know the definitions and one worked example.
- Next Paper 2
- 69%
- 7 in 10 chance it is set
- Marks a paper
- 8.9 / 75
- 12% of Paper 2 · fair share 25%
- Appeared in
- 23 / 33
- Paper 2 sittings 2021–2026
- Last set
- May/Jun 2026
- 9618/23 · Q4 · 4 marks · 11-series streak
What the papers say
- Set in 23 of 33 Paper 2 sittings — about 7 papers in 10.
- Worth about 8.9 marks a paper (12% of Paper 2, well under its fair share of 25%).
- Last set May/Jun 2026 · 9618/23 · Q4 for 4 marks — in the most recent series.
- Set in each of the last 11 series without a miss.
- Easing off: about 13.8 marks a paper earlier, 6.7 in the latest years — still examined, just smaller.
- Lives on “Complete” and “Identify” — 68% of its questions: you must produce something — code, a diagram, a table — practise doing it, not reading it.
- 68% of its questions involve a diagram, table or figure — practise with pen and paper.
- 60% of its questions are set out as code, pseudocode or a table to complete.
- Its biggest question so far: 27 marks (May/Jun 2023 · 9618/21 · Q4).
- Inside the topic, §9.2 Algorithms carries the most marks (55%) and §9.2 Documenting and converting the least (22%).
- It is examined mostly as AO2 (Apply & analyse, 58%), the rest AO3 (42%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
- The examiner has commented on 30 of its questions — read “What the examiner said” before you practise.
Command words
Share of questions using the word (a question can use several). What each wants →
Question shapes
- ≤ 6 mk11
- 7–9 mk14
- 10–12 mk10
- 13–15 mk4
- 16+ mk1
Average 8.9 marks a question · 68% with a figure or table · 60% with code · biggest 27 marks
Assessment objectives — how it is examined
Every part of every current-syllabus question filed under Cambridge's AO1 / AO2 / AO3 (from its command word and what it asks you to do), so you know whether this topic pays for definitions, for applying, or for judging and building.
- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
Paper 2 as a whole
| Paper 2 | Syllabus | Measured |
|---|---|---|
| AO1 Knowledge & understanding | 0% | 0% |
| AO2 Apply & analyse | 40% | 46% |
| AO3 Design, program & evaluate | 60% | 54% |
Syllabus = Cambridge's grid; measured = the bank's current-syllabus papers.
Inside the topic — every syllabus bullet, measured
Each part of each question is filed under the bullet it examines; the numbers are per Paper 2 sitting, exactly like the topic's. Open a bullet for its own Statometer.
9.1Computational thinking skills#12 of 14 on Paper 2Occasional · 2739% next paper1.5 marks13/33 sittings→ May/Jun 2026Occasional · 2739%
1.5 · 23% of topic13/33May/Jun 2026latest series · →Rotated in occasionally — the bullet students skip and then meet.Syllabus: abstraction (need, benefits, building an abstract model) and decomposition into sub-problems that become program modules
- Next Paper 2
- 39%
- 2 in 4
- Marks a paper
- 1.5
- 2% of the paper · 23% of the topic
- Asked in
- 13 / 33
- Paper 2 sittings · 13 questions
- Last asked
- May/Jun 2026
- 9618/22 · Q2 · 1 marks · 3-series streak
- Asked in 13 of 33 Paper 2 sittings — roughly one paper in 3.
- About 1.5 marks a paper (2% of Paper 2; 23% of the topic's marks across its 3 bullets).
- Last asked May/Jun 2026 · 9618/22 · Q2 (1 marks) — in the most recent series.
- Usually “Complete” or “Identify”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
- Biggest chunk of marks so far: 9 in May/Jun 2022 · 9618/22 · Q3.
- It is examined mostly as AO2 (Apply & analyse, 60%), the rest AO3 (40%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
Last 12 sittings→ SteadyAssessment objectives
AO2 60%AO3 40%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Complete62%
- Identify54%
- Explain39%
- Describe31%
9.2Algorithms#8 of 14 on Paper 2Core · 5564% next paper3.9 marks21/33 sittings→ May/Jun 2026Core · 5564%
3.9 · 55% of topic21/33May/Jun 2026latest series · →A regular earner inside the topic — most papers touch it.Syllabus: an algorithm as a sequence of steps; identifier tables; pseudocode with input, process and output using sequence, selection and iteration
- Next Paper 2
- 64%
- 6 in 10
- Marks a paper
- 3.9
- 5% of the paper · 55% of the topic
- Asked in
- 21 / 33
- Paper 2 sittings · 27 questions
- Last asked
- May/Jun 2026
- 9618/23 · Q4 · 4 marks · 11-series streak
- Asked in 21 of 33 Paper 2 sittings — about 6 papers in 10.
- About 3.9 marks a paper (5% of Paper 2; 55% of the topic's marks across its 3 bullets).
- Last asked May/Jun 2026 · 9618/23 · Q4 (4 marks) — in the most recent series.
- Asked in each of the last 11 series.
- Usually “Identify” or “Complete”: short, precise answers in syllabus words.
- Biggest chunk of marks so far: 15.5 in May/Jun 2023 · 9618/21 · Q4.
- It is examined mostly as AO3 (Design, program & evaluate, 55%), the rest AO2 (45%) — you must build it — write the pseudocode or program, design the structure.
Last 12 sittings→ SteadyAssessment objectives
AO2 45%AO3 55%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Identify44%
- Complete37%
- Write33%
- Explain22%
9.2Documenting and converting#13 of 14 on Paper 2Occasional · 1926% next paper1.2 marks10/33 sittings↘ Oct/Nov 2025Occasional · 1926%
1.2 · 22% of topic10/33Oct/Nov 20251 series ago · ↘Rotated in occasionally — the bullet students skip and then meet.Syllabus: structured English, flowcharts and pseudocode (writing one from another); stepwise refinement; logic statements
- Next Paper 2
- 26%
- 1 in 4
- Marks a paper
- 1.2
- 2% of the paper · 22% of the topic
- Asked in
- 10 / 33
- Paper 2 sittings · 10 questions
- Last asked
- Oct/Nov 2025
- 9618/23 · Q2 · 6 marks · 1 series ago
- Asked in 10 of 33 Paper 2 sittings — roughly one paper in 3.
- About 1.2 marks a paper (2% of Paper 2; 22% of the topic's marks across its 3 bullets).
- Last asked Oct/Nov 2025 · 9618/23 · Q2 (6 marks), 1 series ago.
- Easing: 2.5 → 0.6 marks a paper.
- Usually “Identify” or “Write”: short, precise answers in syllabus words.
- Biggest chunk of marks so far: 12 in Oct/Nov 2021 · 9618/21 · Q2.
- It is examined almost entirely as AO3 (Design, program & evaluate, 82%) — you must build it — write the pseudocode or program, design the structure.
Last 12 sittings↘ EasingAssessment objectives
AO2 19%AO3 82%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Identify60%
- Write50%
- Give40%
- Draw30%
32% of the topic's marks sit in question parts that belong to another topic (scenario questions cross sections) or that no bullet claims; they count for the topic, not for a bullet.
Marks a paper, year by year
By exam series
- May/Jun12/18 · 9.8 mk
- Oct/Nov11/15 · 11.9 mk
What you need to know3syllabus §9.1, §9.2
- 9.1Computational thinking skills — abstraction (need, benefits, building an abstract model) and decomposition into sub-problems that become program modules
- 9.2Algorithms — an algorithm as a sequence of steps; identifier tables; pseudocode with input, process and output using sequence, selection and iteration
- 9.2Documenting and converting — structured English, flowcharts and pseudocode (writing one from another); stepwise refinement; logic statements
Video lectures15ZAK's YouTube channel · play here
ASA22024642 views
ASA22024291 views
AS2023298 views
ASA220211.9K views
AS20211.8K views
AS20215.7K views
Infographics2draw these the way the examiner expects · download as PNG
Flowchart symbols & the PDLC
Stepwise refinement & identifier tables
Key terms12use these exact words in the exam
Dotted terms are defined in the glossary.
Code help4referenced to the Cambridge pseudocode guide
DECLARE Stack : ARRAY[1:5] OF INTEGERDECLARE Top : INTEGERTop ← 0PROCEDURE Push(V : INTEGER)IF Top = 5 THENOUTPUT "Stack full"ELSETop ← Top + 1Stack[Top] ← VENDIFENDPROCEDUREFUNCTION Pop() RETURNS INTEGERDECLARE V : INTEGERIF Top = 0 THENOUTPUT "Stack empty"RETURN -1ENDIFV ← Stack[Top]Top ← Top - 1RETURN VENDFUNCTIONCALL Push(10)CALL Push(20)CALL Push(30)OUTPUT Pop(), " ", Pop(), " ", Pop(), " ", Pop()
CONSTANT Size = 4DECLARE Q : ARRAY[0:3] OF STRINGDECLARE Front, Rear, Count : INTEGERFront ← 0Rear ← -1Count ← 0PROCEDURE Enqueue(V : STRING)IF Count = Size THENOUTPUT "Queue full"ELSERear ← (Rear + 1) MOD SizeQ[Rear] ← VCount ← Count + 1ENDIFENDPROCEDUREFUNCTION Dequeue() RETURNS STRINGDECLARE V : STRINGIF Count = 0 THENRETURN "(empty)"ENDIFV ← Q[Front]Front ← (Front + 1) MOD SizeCount ← Count - 1RETURN VENDFUNCTIONCALL Enqueue("A")CALL Enqueue("B")OUTPUT Dequeue()CALL Enqueue("C")CALL Enqueue("D")CALL Enqueue("E")OUTPUT Dequeue(), Dequeue(), Dequeue(), Dequeue()
DECLARE A : ARRAY[1:8] OF INTEGERDECLARE Low, High, Mid, Target, i : INTEGERDECLARE Found : BOOLEANFOR i ← 1 TO 8A[i] ← i * 3 // 3 6 9 12 15 18 21 24 (sorted)NEXT iTarget ← 18Low ← 1High ← 8Found ← FALSEWHILE Low <= High AND NOT FoundMid ← (Low + High) DIV 2IF A[Mid] = Target THENFound ← TRUEELSEIF A[Mid] < Target THENLow ← Mid + 1ELSEHigh ← Mid - 1ENDIFENDIFENDWHILEOUTPUT "Found: ", Found, " at ", Mid
DECLARE A : ARRAY[1:6] OF INTEGERDECLARE i, j, Key : INTEGERA[1] ← 9A[2] ← 4A[3] ← 7A[4] ← 1A[5] ← 8A[6] ← 2FOR i ← 2 TO 6Key ← A[i]j ← i - 1WHILE j >= 1 AND A[j] > KeyA[j + 1] ← A[j]j ← j - 1ENDWHILEA[j + 1] ← KeyNEXT iFOR i ← 1 TO 6OUTPUT A[i]NEXT i
💡 The WHILE condition relies on short-circuit AND (j >= 1 checked first) — the Playground does this like most languages.
Playground examples19runnable programs for this topic
- Run
Swap two variables
The three-line swap with a temporary variable — a favourite trace-table question.
O LevelASPseudocodeBasics & data types §1.5 - Run
Maximum, minimum & average
The standard algorithm: start Highest very low and Lowest very high, then update as you go.
O LevelASPseudocodeIteration 2210 §7.1 standard methods - Run
Counting — how many passed?
Two counters updated inside a loop, then a percentage.
O LevelASPseudocodeIteration 2210 §7.1 standard methods - Run
Total, average and position of the maximum
Keep the index of the best value, not just the value, so you can say where it was.
O LevelASPseudocodeArrays §3.2 - Run
Stepwise refinement — a bank menu built from modules
The main program only shows the menu and CALLs procedures; each module does one job (a structure chart in code).
ASPseudocodeProcedures & functions §8.1 · 9618 §9.1 - Run
Linear search
Check each element in turn and stop as soon as the target is found.
O LevelASPseudocodeSearching 2210 §7.1 / 9618 §9.2 - Run
Linear search — every match
Do not stop at the first hit: report every position and count them.
O LevelASPseudocodeSearching 2210 §7.1 - Run
Binary search (iterative)
Only works on sorted data: halve the search range each time by comparing with the middle element.
ASA2PseudocodeSearching 9618 §19.1 - Run
Bubble sort
Compare neighbours and swap; after each pass the largest value has bubbled to the end.
O LevelASPseudocodeSorting 2210 §7.1 / 9618 §9.2 - Run
Bubble sort with a Swapped flag
Stop early when a whole pass makes no swaps — the efficient version examiners like.
ASA2PseudocodeSorting 9618 §9.2, §19.1 - Run
Insertion sort
Take each value in turn and slide it left into the sorted part of the array.
ASA2PseudocodeSorting 9618 §19.1 - Run
Sort names alphabetically
Bubble sort works on strings too: "Ali" < "Zara" compares character codes.
O LevelASPseudocodeSorting 2210 §7.1 - Run
Sort parallel arrays — a leaderboard
Sort marks descending and swap the names at the same time so they stay matched.
ASPseudocodeSorting 9618 §9.2, §10.2 - Run
AS Paper 2 — library loans
An array of records, a search function, procedures for borrowing and reporting, all driven by a menu.
ASPseudocodeExam-style tasks §4.2, §8 - Run
Totalling, counting, max, min, average
The standard loop pattern with a list — and then the built-ins sum(), max(), min(), len() that do it in one line.
O LevelASPythonIteration §7.1 ↔ Python - Run
Linear search
Walk the list until you find the target — the exam wants the loop, not list.index().
O LevelASPythonSearching §7 ↔ Python - Run
Binary search — iterative and recursive
Halve the search space each time; the list must be sorted. Both versions, with the number of comparisons.
ASA2PythonSearching §7 ↔ Python - Run
Bubble sort with a swapped flag
The classic Paper 2 / Paper 4 sort. Open the Trace tab to watch the swaps.
O LevelASPythonSorting §7 ↔ Python - Run
Insertion sort
Take each item and slide it left into the sorted part. Compare with sorted() and .sort() at the end.
ASA2PythonSorting §7 ↔ Python
Test yourself
Ready to check you know it?
Every round is a fresh random draw, weak cards come back until you get them right, and past-paper questions come with their mark schemes. Marks earn XP on your dashboard.