S
๐Ÿšข Topic 11 Programming scenarios ยท 11.4

Ship โ€” full end-to-end 15-mark solutions

The scenario becomes shippable. Read (Lab A) โ†’ Build (Lab B) โ†’ Ship: assemble your patterns into a complete Cambridge-marker-ready pseudocode solution. Six scenarios ร— four modes ร— the exam-grade 5-axis mark scheme.

Prereq: Lab A ยท Read (scenario analysis) + Lab B ยท Build (pattern blocks) are strongly recommended before starting Lab C. If you haven't done them, head there first โ€” Scenario Bench will feel much harder without the patterns.
๐Ÿงช Exam Mode ON โ€” recall from memory, then reveal
ยง1 ยท Topic overview

Lab C ยท Ship โ€” the destination

Everything Labs A and B built for arrives here. Paper 2 Question 11 is 15 marks โ€” roughly 20% of the whole paper. Get it right and you can afford to lose marks elsewhere. Get it wrong and every other topic has to overperform.

Cambridge marks Q11 against five axes. Every scenario is scored the same way โ€” same rubric, same expectations, whether you're totalling sports league points or menu-driving a video library. Learn the axes once, use them forever.

๐ŸŽฏ The five mark-scheme axes

1 ยท Data structures โ€” used correctly, with the given names
2 ยท Techniques โ€” โ‰ฅ2 of selection, iteration, counting, totalling, I/O
3 ยท Requirements coverage โ€” every bullet in the scenario addressed
4 ยท Messages โ€” appropriate prompts on all inputs and outputs
5 ยท Comments โ€” explain the purpose of each logical block
ยง2 ยท Learning objectives

By the end of Lab C you can:

  1. Complete a full 15-mark Paper 2 Q11 scenario in Cambridge Pseudocode.
  2. Correctly use the given data structures โ€” not renamed, not restructured.
  3. Cover every requirement in the bullet list.
  4. Wire 3-5 Lab B patterns into a single working solution.
  5. Include validation on every input (loop, not IF).
  6. Include appropriate messages on every I/O.
  7. Include comments on every logical block.
  8. Output ALL matches when multiple exist, not just one.
  9. Recognise exam-time-pressure trade-offs (requirements first, polish last).
  10. Self-assess against the five axes before submitting.
ยง3 ยท Key terminology
TermDefinition
Mark scheme axisOne of the five things Cambridge examiners check
Full solutionA complete pseudocode program that meets every requirement in a scenario
Requirement coverageThe percentage of scenario bullets your solution addresses
Technique diversityHow many of {selection, iteration, counting, totalling, I/O} your solution uses
Method 1 (Analytical)Read โ†’ IPO table โ†’ code
Method 2 (Practical)Walk through requirements with sample data โ†’ note the steps โ†’ turn steps into code
ยง4 ยท Core theory โ€” the two methods

ยง4.1 ยท Method 1 (Analytical) โ€” IPO-first

Best for scenarios with clear inputs, processes, and outputs (most 15-mark questions). Build the IPO table first, then translate to pseudocode row-by-row.

ยง4.2 ยท Method 2 (Practical) โ€” walk-through

Best when the scenario is menu-driven or state-machine-like. Walk through with sample data (e.g. "user picks 1, so ..."), note each step, then turn steps into code.

ยง4.3 ยท The 60-minute exam plan

5min ยท read scenario twice + IPO table
40min ยท write the pseudocode
10min ยท add comments + I/O messages
5min ยท review against the 5 axes

ยง4.4 ยท Axis priority when time runs short

Data structures > requirements coverage > techniques > messages > comments. Missing any single axis is recoverable; missing two is fatal. If you're behind on time, the panic order is: fix a missing data structure first, then bag one more requirement โ€” comments and messages can be sprinkled in the last 5 minutes.

ยง4.5 ยท The second-pass output habit

Every "output the X" requirement needs a second read: one or many? If the scenario says "output the names of the competitors who achieved the highest score", a single-name output loses marks. Cambridge examiner report (2025 M/J P21 Q11) noted: "Only a few candidates correctly outputted the names of all the competitors who achieved the highest score."

ยง5 ยท Worked examples

WE1 ยท Sports league (2023 F/M P22 Q11) โ€” Method 1

Cambridge scenario ยท TeamName[] 1D + TeamPoints[] 2D ยท four requirements.

Step 1 ยท IPO ยท Inputs already in TeamName[] and TeamPoints[]. Processes: total per team, count categories, find high/low, output names. Outputs: totals, counts, names.
Step 2 ยท Initialise counters ยท HomeWins โ† 0, Drawn โ† 0, etc. Examiner-cited trap: "not initialising counters to zero" (2023 F/M P22 Q11).
Step 3 ยท Nested loop over TeamPoints[t, m] ยท Total per team goes in the outer loop, counting per category goes in the inner IF chain.
Step 4 ยท Two-pass for high/low ยท Pass 1 finds Highest/Lowest values. Pass 2 outputs ALL TeamName[t] where TeamTotal[t] = Highest (and again for Lowest).
Step 5 ยท Comment every block, message every OUTPUT ยท Both are marks, not decoration.

WE2 ยท Screen time (2024 F/M P22 Q11) โ€” the MIN-with-all-matches

Cambridge scenario ยท StudentName[] 1D + ScreenTime[] 2D ยท four requirements including "output the student with the lowest weekly minutes".

The trap ยท "The lowest weekly minutes" is ambiguous โ€” could be one student, could be several. The double-pass MIN pattern handles both.
Pass 1 ยท Loop through StudentTotal[] to find the minimum value.
Pass 2 ยท Loop through again; output StudentName[s] for every s where StudentTotal[s] = Lowest. If there's exactly one, one name gets printed. If there are ties, all get printed โ€” no code change needed.
Cambridge verbatim ยท "correctly used all the data structures given in the scenario in the way they were expected to be used as stated in their descriptions" โ€” 2024 F/M P22 Q11 examiner report.

WE3 ยท Video library (2025 M/J P23 Q8) โ€” Method 2 menu-driven

Cambridge scenario ยท Video[] 2D + Results[] ยท menu-driven with three options (Add / Search / End).

Method 2 wins here ยท A menu system is a state machine, not a linear IPO problem. Walk through with sample data: "user picks 1, so I input title + format and store". "user picks 2, so I search and output matches". Turn each walk-through into pseudocode.
Outer loop ยท WHILE Choice <> 3 DO ... ENDWHILE. Validate Choice inside.
Choice = 1 ยท Add ยท Input title + format, increment Count, store Video[Count, 1] = title, Video[Count, 2] = format.
Choice = 2 ยท Search ยท Loop through Video[], store up to 20 matches in Results[], print.
Cambridge verbatim ยท "followed the remaining additional guidance at the end of the scenario" โ€” 2025 M/J P23 Q8 examiner report (referencing top-marks candidates).
ยง6 ยท Common misconceptions

๐Ÿšจ Writing code before doing IPO / walk-through

Diving straight into pseudocode without analysing the scenario always loses requirements coverage. Read twice, plan (IPO or walk-through), then code.

โœ… Fix ยท 5 minutes on planning saves 15 minutes on debugging.

๐Ÿšจ Under-commenting to save time

Comments earn marks on the comments axis (up to 2/15). Cutting them to save time is a false economy โ€” they take 60 seconds and are worth up to 2 marks.

โœ… Fix ยท One comment per logical block. // initialise counters, // nested loop over 2D array, // output all top teams.

๐Ÿšจ Over-engineering requirement 1 at cost of requirement 4

Spending 20 minutes perfecting the validation loop for requirement 1 while requirement 4 remains unattempted is a mark disaster. Requirements coverage is worth up to 5/15.

โœ… Fix ยท Cover all requirements first at 70% quality, then polish. Perfection on 3 requirements loses to adequacy on 5.
ยง7 ยท Cambridge exam focus

Verbatim mark-scheme language โ€” you'll see these exact phrases on every 2023-2025 Q11 mark scheme.

"Data structures required with names as given in the scenario"
"More than one technique seen applied to the scenario, check the list of techniques"
"All criteria stated for the scenario have been covered by the use of appropriate structure"
"Appropriate messages to accompany all inputs and outputs"
"Comments to explain the purpose or function of each part or sub-part of the solution"
ยง8 ยท Quick knowledge check
1 ยท How many marks is Paper 2 Q11 worth?
15 marks โ€” roughly 20% of Paper 2. Every sitting from 2023 onwards has one.
2 ยท Name the five mark-scheme axes.
Data structures ยท Techniques ยท Requirements coverage ยท Messages ยท Comments.
3 ยท What are the two methods for tackling a scenario?
Method 1 (Analytical) โ€” build IPO table then translate to code. Method 2 (Practical) โ€” walk through with sample data, note steps, turn into code.
4 ยท When is Method 2 the better choice?
When the scenario is menu-driven or state-machine-like (e.g. the video library scenario). A linear IPO doesn't capture branching menus well.
5 ยท What's the priority order if time runs short?
Data structures > requirements coverage > techniques > messages > comments. Missing one axis is recoverable; missing two is fatal.
6 ยท What's the "output ALL matches" habit?
Every "output the X" requirement needs a second-pass loop: after finding the target value, loop again and output every entry that matches โ€” one or many.
7 ยท How should you split your 60-minute Q11?
5 min read + IPO ยท 40 min code ยท 10 min comments + messages ยท 5 min review.
8 ยท Which of {selection, iteration, counting, totalling, I/O} count as "techniques"?
All five. Cambridge wants โ‰ฅ2 for any mark on the techniques axis, โ‰ฅ3 for full marks.
ยง9 ยท Ready for Scenario Bench?

๐Ÿšข You know the method and the mark scheme

Head to the Activities tab โ€” Scenario Bench is the full exam simulator with six real Cambridge scenarios and the exam-grade 5-axis marker. Start with Walk-through mode for the menu-driven video library, then try Guided on any other scenario. Exam Mode (60-minute timer) unlocks once you've completed two of the earlier modes.

๐ŸŽฏ The 5 axes at a glance

3Data structures /3 โ€” used with given names
3Techniques /3 โ€” โ‰ฅ2 of 5 families
5Requirements /5 โ€” every bullet covered
2Messages /2 โ€” prompts on all I/O
2Comments /2 โ€” one per logical block
15Total = full marks

๐Ÿ“– Cambridge Pseudocode side-by-side

Same logic, different notation. Cambridge only marks the pseudocode.

CambridgePython
INPUT Namename = input()
OUTPUT "Hi ", Nameprint("Hi", name)
Total โ† 0total = 0
FOR i โ† 1 TO 10for i in range(1, 11):
IF X = 5 THENif x == 5:
WHILE X <> 0 DOwhile x != 0:

๐Ÿ† Progress signals

0Scenarios completed
0Modes unlocked (of 4)
0Knowledge checks revealed

๐Ÿ“– Getting Started

Paper 2 Q11 is 15 marks โ€” worth roughly 20% of the whole paper. Get it right and you can afford to lose marks elsewhere. Get it wrong and every other topic has to overperform.

๐Ÿ“– Context

Consider the 2025 M/J P23 Q8 scenario. A collector stores video details in Video[] (2D: title + format) and Results[] (up to 20 matches from a search). The program displays a menu with three options: Add, Search, End. This is a state machine โ€” Method 2 (walk-through) beats Method 1 (IPO) here because the flow branches on menu choice, not on a linear input-process-output.

๐Ÿ“– Discussion

Q ยท You have 60 minutes for Q11. You've written full pseudocode covering 4 of 5 requirements, with no comments. Do you fix requirement 5, or add comments? Why?
Add comments first. Requirements coverage is /5 โ€” one missing requirement is up to 1 mark lost. Comments are /2 โ€” no comments is 2 marks lost. In marks-per-minute terms, sprinkling // initialise counter style comments across your existing 4 requirements will score more than a rushed and probably-wrong attempt at requirement 5. This is the axis-priority trade-off in action.

Contrast box 1 ยท Under-commented vs commented

โŒ No comments

Total โ† 0
FOR i โ† 1 TO 10
   Total โ† Total + Scores[i]
NEXT i
OUTPUT "Total: ", Total

Comments axis: 0/2. Cambridge examiner (2023 F/M P22 Q11): "omitting comments" cited as a common error.

โœ… Commented

// initialise the running total
Total โ† 0
// sum the 10 scores
FOR i โ† 1 TO 10
   Total โ† Total + Scores[i]
NEXT i
// output with prompt
OUTPUT "Total: ", Total

Comments axis: 2/2. Same code + 3 well-placed comments = 2 more marks.

Contrast box 2 ยท Method 1 vs Method 2

Method 1 ยท IPO-first (analytical)

Best for: linear input-processing-output scenarios.

Input  | Process       | Output
scores | sum all       | total
5-100  | average       | avg
       | count > 100   | count

Then translate each row to pseudocode. Works for ~70% of Q11 scenarios (sports league, temperatures, screen time, competitors).

Method 2 ยท Walk-through (practical)

Best for: menu-driven, state-machine, branching scenarios.

User picks 1 โ†’ input title + format โ†’ store
User picks 2 โ†’ input search โ†’ find + print
User picks 3 โ†’ exit loop

Turn each walked step into code. Works for the ~30% of Q11 scenarios that branch on user choice (video library, secret cell game).

๐Ÿงช Mark Scheme Simulator

Tap the axis each snippet fulfils. Trains axis-recognition before Scenario Bench's full marker fires.

Loading...

๐Ÿ“Œ Six exam-safe habits

HabitPseudocode formMark-scheme axis
Initialise before accumulateTotal โ† 0 before FORTechniques (counting/totalling)
Loop-not-IF for validationWHILE cond DO INPUT ENDWHILERequirements (validation)
Second pass for all matchesTwo-loop MIN/MAX patternRequirements (output all)
Message every I/OOUTPUT "Enter score: "Messages axis
Comment every block// find lowest totalComments axis
Use given namesTeamName[] not TeamsData structures axis

๐Ÿšจ Six inline trap cards

Trap 1 ยท Single-match output when all matches required

Storing the first matching name in a variable then outputting one name. If two students tie for lowest weekly minutes, both should be output.

2025 M/J P21 Q11 examiner: "Only a few candidates correctly outputted the names of all the competitors who achieved the highest score."
โœ… Two-pass pattern: pass 1 finds Lowest; pass 2 outputs every StudentName[s] where StudentTotal[s] = Lowest.

Trap 2 ยท Renaming the given data structures

The scenario says TeamPoints, you write Points. Zero marks on the data structures axis, regardless of how correct your logic is.

2024 F/M P22 Q11 examiner: "correctly used all the data structures given in the scenario in the way they were expected to be used as stated in their descriptions".
โœ… Copy the identifier names from the scenario verbatim. Case matters.

Trap 3 ยท Not covering all requirements

Requirements coverage is /5 โ€” the highest single-axis weight in the mark scheme. Skipping requirement 4 or 5 to polish requirement 1 is a mark disaster.

2024 F/M P22 Q11 examiner: "candidates whose responses closely matched the requirements stated in the scenario, ensuring that all points were fully covered, achieved the highest marks".
โœ… Cover every requirement at 70% quality first, then polish. Adequacy on 5 beats perfection on 3.

Trap 4 ยท Under-commented โ€” under-marked

Comments are worth /2. Skipping them costs the whole axis.

2023 F/M P22 Q11 examiner: "omitting comments" cited as common error.
โœ… One // comment per logical block. Takes 60 seconds. Worth up to 2 marks.

Trap 5 ยท Missing input/output messages

INPUT Score with no preceding OUTPUT "Enter score: " โ€” user sees a blank cursor and has no idea what to type. Same for outputs.

2024 F/M P22 Q11 mark scheme: "use of appropriate messages to accompany all inputs and outputs".
โœ… Every INPUT is preceded by an OUTPUT prompt. Every OUTPUT includes a label string.

Trap 6 ยท Using IF for validation (single-shot bug)

IF Score < 0 THEN OUTPUT "bad" ENDIF lets the invalid value through โ€” the program continues. A validation LOOP re-prompts until the value is valid.

2025 M/J P21 Q11 examiner: "Some candidates used an IF statement to validate the entry, but this only allows for one extra data entry."
โœ… REPEAT INPUT Score UNTIL Score >= 0 AND Score <= 100.

๐ŸŽฏ Quick check

1 ยท What's the axis-priority order when time is tight?
Data structures > requirements > techniques > messages > comments.
2 ยท Why is IF-only validation a trap?
If the input is invalid, IF-only lets the program continue with a bad value. LOOP validation re-prompts until valid. Cited verbatim in 2025 M/J P21 Q11 as "only allows for one extra data entry".
3 ยท Which method suits a menu-driven scenario?
Method 2 (walk-through). Menus branch on user choice, not on linear I/O โ€” walk through with sample data, note steps, code each branch.
4 ยท What does the "second pass" pattern give you?
It handles output-ALL-matches correctly. Pass 1 finds the target value (min or max); pass 2 outputs every entry that matches. If one entry matches, one name prints; if ten match, ten print โ€” no code change.

๐Ÿšข Ready for Scenario Bench?

Head to Activities and pick a scenario. Six real Cambridge scenarios, four modes (Walk-through โ†’ Guided โ†’ Timed โ†’ Exam), the exam-grade 5-axis marker on every submit.

๐Ÿšข Scenario Bench โ€” full-scenario simulator

Six real Cambridge scenarios ยท four modes ยท exam-grade 5-axis marker. Pick a mode, pick a scenario, write the pseudocode, hit Mark.

0Scenarios completed
0Modes tried (of 4)
โ€“Last score (/15)

1 ยท Choose a mode

Pick a mode to begin. Walk-through and Guided are open; Timed and Exam Mode unlock after you complete Walk-through + one other.

2 ยท Choose a scenario

3 ยท The scenario

Pick a scenario above to see the stem.

4 ยท Write your pseudocode

โšก Sprint drill ยท 60 seconds

Rapid recall of the 5 axes, key traps, and scenario shapes. Answer as many as you can before the timer hits 0.

60seconds left
0score
0streak
0best
Press Start to begin.

๐ŸŽฏ The 5 axes

Data structures /3 โ€” required identifiers appear with given names.
Techniques /3 โ€” โ‰ฅ2 of {selection, iteration, counting, totalling, I/O}.
Requirements /5 โ€” scenario-specific predicates.
Messages /2 โ€” OUTPUT/INPUT with prompt strings.
Comments /2 โ€” // occurrences.
Total /15 = full Q11 marks.

๐Ÿ Verdict thresholds

Perfect ยท 14-15
Strong ยท 11-13
Partial ยท 7-10
Weak ยท 0-6
Malformed ยท parse error

โฑ Mode reference

1 ยท Walk-through โ€” Method 2 exemplar. Video library scenario. Step through with reveal-on-tap sample data.
2 ยท Guided โ€” Any scenario. Reference "shape" available on tap. Marker fires on demand.
3 ยท Timed โ€” Any scenario. 20-minute timer. Marker only on submit.
4 ยท Exam Mode ๐Ÿ”’ โ€” Any scenario. 60-minute timer. Full Q11 simulation, no hints. Unlocks after completing Walk-through + one other.

โœŽ Practice โ€” 18 adaptive MCQs

Difficulty tags ยท adaptive weighting ยท Exam Mode toggle for recall + self-mark.

๐Ÿ“‹ Exam Mode active ยท you'll self-mark instead of getting instant feedback. Answers show only when you tap Reveal.
Loading first question...
0Attempted
0Correct
0%Accuracy

๐Ÿ’ช Weak skills

Answer some questions and the areas you keep missing will show up here โ€” the adaptive weighting will resurface them.

๐Ÿ“Š Skill coverage

Practice covers the 5 mark-scheme axes and cross-axis exam-time triage: data structures ID ยท techniques counting ยท requirements recognition ยท messages/comments recognition ยท exam-time triage.

๐Ÿ“‹ Exam โ€” 12 real Paper 2 items

Every item cited to a real Cambridge Paper 2 or textbook ยง. Tap Reveal mark scheme to see the Cambridge-style checklist for the item.

Loading...

๐Ÿ“š Sources

Cambridge Paper 2 (2023-2025) โ€” 6 items
Textbook ยง11.2 ยท 11.4 โ€” 2 items
Textbook end-of-chapter โ€” 2 items
Synthetic exam-style โ€” 2 items

๐Ÿ”„ Review โ€” examiner-cited traps

Ten traps distilled from 2023-2025 Cambridge examiner reports. Each carries the verbatim examiner quote plus the fix.

Loading...

๐Ÿง  Memory triggers

๐Ÿ† Mastery โ€” 12-item revision checklist

Tick off each capability as you own it. Long-hold any item to force it done (override).

๐ŸŽ“ Module Mastered ยท you're ready for Paper 2 Q11.

Progress

0of 12 items ticked
0overrides
๐Ÿ’” Mistakes

Your mistakes log

Every wrong answer captures here automatically. Review, un-mistake, or bookmark for later.

๐Ÿ“Š Progress

Progress dashboard

Your attempts, accuracy, and mastery counts across Lab C.

๐Ÿ”– Bookmarks

Bookmarked questions

๐Ÿ“ My Notes

Personal notes + feedback

Send FutureLogic feedback

Categorised feedback goes to the Vault so we can improve Lab C.

Your notes

๐Ÿ—„๏ธ Vault

Your knowledge vault

Everything you've bookmarked, saved, or flagged, in one place.

Saved โœ“