Community resourceWorksheet
OCR H446 2.2.1 Paper 2 scenario exam transition
Part 14 of 14 · H446 2.2.1 · Programming techniques
An assessment piece rather than a teaching one, written as a single linked Paper 2 scenario that covers H446 2.2.1 end to end. A timed route event carries object modelling, OCR exam reference language, tracing, parameter modes, scope, recursion, debugging and evaluation, so it serves as a mock section or a final check before the topic is left behind.
Students will:
- derive attributes, methods and class relationships from an extended written scenario
- write constructors, accessor methods and instantiation statements in OCR exam reference language
- trace an algorithm and identify a range fault in a loop that totals a list
- compare recursive traversal with iterative traversal using an explicit stack and recommend one
- evaluate a stored running total against a calculated one and reach a justified conclusion
Inside: 2 explanation cells, 1 multiple-choice question, 11 written answers and 1 trace table. 44 marks, about 70 to 85 minutes.
Series: H446 2.2.1 · Programming techniques, part 14 of 14.
Shared by Coding PathwayVerified teacher
- 15 cells
- About 75 minutes
- CC BY-SA 4.0
- Shared 31 Aug 2026
- Updated 3 Sept 2026
Preview
The whole resource, exactly as a class sees it. Answers and marking are held back.
Paper 2 scenario exam transition
Complete this assessment independently and without checking answers as you go. Correctness is held where the platform supports it.
Use the command words, supplied evidence and context carefully.
Scenario
A Rider stores name and total_points. Its add_checkpoint(points) method adds a positive points value. get_points() returns total_points. A Team stores a team_name and a list of Rider objects. team_total() returns the sum of rider points. A RouteCheckpoint stores label and bonus. Different checkpoint subclasses override calculate_points(minutes).
State two attributes and two methods described for Rider, then identify the relationship between Team and Rider.
Use only the scenario facts.
Students type their answer here.
Write an OCR ERL constructor for Rider that receives newName, stores it in name and sets total_points to 0.
Use recognisable OCR notation.
Students type their answer here.
Write an OCR ERL getPoints getter and addCheckpoint(points) method.
The getter must be a returning function; the update method needs a parameter.
Students type their answer here.
Write OCR ERL statements that instantiate a Rider named riderOne with the name Asha, call addCheckpoint(6), then print the returned result of getPoints().
Use OCR object construction and method-call notation.
Students type their answer here.
A scalar points parameter is passed by value. The method reassigns its local parameter. What happens to the caller's original variable?
- AIt must change.
- BIt remains unchanged.
- CIt becomes private.
- DIt is converted to a string.
Trace this OCR ERL points algorithm.
Enter a value only when it changes. Keep the listing's order.
Use one row for each pass through the loop. Fill in a box only when that value changes on that row, and leave the rest blank.
total = 0for checkpoint = 1 to 4if checkpoint MOD 2 == 0 thentotal = total + 5elsetotal = total + 2endifnext checkpointprint(total)
| Row | total | checkpoint | checkpoint MOD 2 == 0 | Output |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| 7 | ||||
| 8 |
A Python loop totals riders using for index in range(0, len(riders) - 1). Identify the fault, explain its effect and correct the loop header.
Answer all three demands.
Students type their answer here.
A route can contain another route section of the same structure. Compare a recursive traversal with an iterative traversal that uses an explicit stack, then recommend one for this situation.
Use at least two common criteria and make the conclusion depend on the nested route structure.
Students type their answer here.
A draft stores the running team total in a global variable that every Rider method can update. Explain one benefit and two drawbacks, then describe how parameters and return values could remove this global dependency.
Develop each point for the cycling challenge rather than listing generic scope facts.
Students type their answer here.
Explain how checkpoint subclasses can use polymorphism when a route processes a mixed list of checkpoints and calls calculate_points(minutes) on each.
Refer to inheritance, overriding and the common call.
Students type their answer here.
Recommend two IDE debugging features for a team_total() result that is too low. Explain how each would be used in this scenario.
State a feature, action and useful evidence for each.
Students type their answer here.
Evaluate whether Team should calculate its total when requested or store a total_points attribute updated whenever a Rider changes. Reach a justified conclusion for this system.
Compare correctness, performance and coupling before concluding.
Students type their answer here.
Which programming technique should you revisit, and what evidence from this attempt supports that choice?
This reflection is not assessed.
Students type their answer here.