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).

Written answer5 marks

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.

Written answer3 marks

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.

Written answer4 marks

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.

Written answer3 marks

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.

Multiple choice1 mark

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 table6 marks

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.

AlgorithmExam reference language
  1. total = 0
  2. for checkpoint = 1 to 4
  3. if checkpoint MOD 2 == 0 then
  4. total = total + 5
  5. else
  6. total = total + 2
  7. endif
  8. next checkpoint
  9. print(total)
Trace table with 4 columns
Rowtotalcheckpointcheckpoint MOD 2 == 0Output
1
2
3
4
5
6
7
8
Written answer3 marks

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.

Written answer5 marks

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.

Written answer6 marks

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.

Written answer4 marks

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.

Written answer4 marks

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.

Written answer6 marks

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.

Written answer

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.