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.
Statometer45RegularNext Paper 274%Everything for this topic — study hub
AS Level · 9618 · Paper 2
This topic is rows 26–28 of the study route.Open it on your study route
Statometer — what 33 real papers say about this topic and each of its 3 syllabus bullets
Regular · #12 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
- 74%
- 7 in 10 chance it is set
- Marks a paper
- 7 / 75
- 9% of Paper 2 · fair share 25%
- Appeared in
- 25 / 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 25 of 33 Paper 2 sittings — about 8 papers in 10.
- Worth about 7 marks a paper (9% 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 8.6 marks a paper earlier, 6.5 in the latest years — still examined, just smaller.
- Lives on “Complete” and “Write” — 64% of its questions: you must produce something — code, a diagram, a table — practise doing it, not reading it.
- 59% of its questions involve a diagram, table or figure — practise with pen and paper.
- 75% of its questions are set out as code, pseudocode or a table to complete.
- Its biggest question so far: 13 marks (May/Jun 2021 · 9618/21 · Q2).
- Inside the topic, §9.2 Algorithms carries the most marks (58%) and §9.1 Computational thinking skills the least (15%).
- It is examined mostly as AO3 (Design, program & evaluate, 56%), the rest AO2 (44%) — you must build it — write the pseudocode or program, design the structure.
- The examiner has commented on 58 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 mk13
- 7–9 mk27
- 10–12 mk14
- 13–15 mk10
- 16+ mk11
Average 10.1 marks a question · 59% with a figure or table · 75% with code · biggest 13 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% | 45% |
| AO3 Design, program & evaluate | 60% | 55% |
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 · 2535% next paper1.5 marks11/33 sittings↘ May/Jun 2026Occasional · 2535%
1.5 · 15% of topic11/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
- 35%
- 1 in 4
- Marks a paper
- 1.5
- 2% of the paper · 15% of the topic
- Asked in
- 11 / 33
- Paper 2 sittings · 18 questions
- Last asked
- May/Jun 2026
- 9618/22 · Q2 · 1 marks · 3-series streak
- Asked in 11 of 33 Paper 2 sittings — roughly one paper in 3.
- About 1.5 marks a paper (2% of Paper 2; 15% of the topic's marks across its 3 bullets).
- Last asked May/Jun 2026 · 9618/22 · Q2 (1 marks) — in the most recent series.
- Easing: 2 → 1.2 marks a paper.
- Usually “Explain” or “Draw”: full sentences with a reason, not one-word answers.
- Biggest chunk of marks so far: 9 in May/Jun 2022 · 9618/22 · Q3.
- It is examined mostly as AO3 (Design, program & evaluate, 57%), the rest AO2 (43%) — you must build it — write the pseudocode or program, design the structure.
Last 12 sittings↘ EasingAssessment objectives
AO2 43%AO3 57%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Explain39%
- Draw33%
- Write28%
- Describe28%
9.2Algorithms#9 of 14 on Paper 2Regular · 5364% next paper3.6 marks22/33 sittings→ May/Jun 2026Regular · 5364%
3.6 · 58% of topic22/33May/Jun 2026latest series · →Set most sessions for a few marks; know the definition and one example.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.6
- 5% of the paper · 58% of the topic
- Asked in
- 22 / 33
- Paper 2 sittings · 66 questions
- Last asked
- May/Jun 2026
- 9618/23 · Q4 · 4 marks · 11-series streak
- Asked in 22 of 33 Paper 2 sittings — about 7 papers in 10.
- About 3.6 marks a paper (5% of Paper 2; 58% 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 “Complete” or “Write”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
- Biggest chunk of marks so far: 10 in May/Jun 2024 · 9618/22 · Q2.
- It is examined mostly as AO3 (Design, program & evaluate, 52%), the rest AO2 (48%) — you must build it — write the pseudocode or program, design the structure.
Last 12 sittings→ SteadyAssessment objectives
AO2 48%AO3 52%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Complete42%
- Write42%
- State23%
- Give23%
9.2Documenting and converting#13 of 14 on Paper 2Occasional · 1929% next paper1 marks11/33 sittings↘ Oct/Nov 2025Occasional · 1929%
1 · 28% of topic11/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
- 29%
- 1 in 4
- Marks a paper
- 1
- 1% of the paper · 28% of the topic
- Asked in
- 11 / 33
- Paper 2 sittings · 33 questions
- Last asked
- Oct/Nov 2025
- 9618/23 · Q2 · 3 marks · 1 series ago
- Asked in 11 of 33 Paper 2 sittings — roughly one paper in 3.
- About 1 marks a paper (1% of Paper 2; 28% of the topic's marks across its 3 bullets).
- Last asked Oct/Nov 2025 · 9618/23 · Q2 (3 marks), 1 series ago.
- Easing: 2.2 → 0.5 marks a paper.
- Usually “Complete” or “Write”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
- Biggest chunk of marks so far: 9 in Oct/Nov 2021 · 9618/21 · Q2.
- It is examined almost entirely as AO3 (Design, program & evaluate, 83%) — you must build it — write the pseudocode or program, design the structure.
Last 12 sittings↘ EasingAssessment objectives
AO2 17%AO3 83%- AO1 Knowledge & understanding
- AO2 Apply & analyse
- AO3 Design, program & evaluate
- Complete52%
- Write52%
- Describe27%
- State27%
18% 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
Grey years are the previous syllabus (2015–2021, 44 questions) — history, not counted in the rates.
By exam series
- May/Jun15/18 · 8.2 mk
- Oct/Nov10/15 · 7 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 lectures16ZAK's YouTube channel · play here
ASA22024677 views
ASA22024293 views
AS2023300 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.
- Run
Maximum, minimum & average
The standard algorithm: start Highest very low and Lowest very high, then update as you go.
- Run
Counting — how many passed?
Two counters updated inside a loop, then a percentage.
- 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.
- 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).
- Run
Linear search
Check each element in turn and stop as soon as the target is found.
- Run
Linear search — every match
Do not stop at the first hit: report every position and count them.
- Run
Binary search (iterative)
Only works on sorted data: halve the search range each time by comparing with the middle element.
- Run
Bubble sort
Compare neighbours and swap; after each pass the largest value has bubbled to the end.
- Run
Bubble sort with a Swapped flag
Stop early when a whole pass makes no swaps — the efficient version examiners like.
- Run
Insertion sort
Take each value in turn and slide it left into the sorted part of the array.
- Run
Sort names alphabetically
Bubble sort works on strings too: "Ali" < "Zara" compares character codes.
- Run
Sort parallel arrays — a leaderboard
Sort marks descending and swap the names at the same time so they stay matched.
- Run
AS Paper 2 — library loans
An array of records, a search function, procedures for borrowing and reporting, all driven by a menu.
- 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.
- Run
Linear search
Walk the list until you find the target — the exam wants the loop, not list.index().
- Run
Binary search — iterative and recursive
Halve the search space each time; the list must be sorted. Both versions, with the number of comparisons.
- Run
Bubble sort with a swapped flag
The classic Paper 2 / Paper 4 sort. Open the Trace tab to watch the swaps.
- Run
Insertion sort
Take each item and slide it left into the sorted part. Compare with sorted() and .sort() at the end.
Also for this topic: 5 Java programs · 5 VB.NET programs in the browser compilers.
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.
NewCS Games · 16 to play
Revise this topic by playing
Quiz battles, a daily CS word, SQL whodunnits, logic-gate puzzles and arcade — every game drills the syllabus. Solo against AskZ bots, with friends, or with your whole class. Free, no sign-up.


