Community resourceWorksheet
OCR H446 2.3.1 Algorithms exam transition
Part 16 of 16 · H446 2.3.1 · Algorithms
This is the assessment piece that closes H446 2.3.1: students work independently across one volunteering-platform scenario, without checking answers as they go, and feedback is held until after submission. At 80 marks it is best used as a mock or an end-of-topic check rather than a lesson activity.
Students will:
- design pseudocode for a sentinel-controlled input routine and handle the empty case
- explain the growth classes by what happens as the input grows, correcting a stock error
- perform a binary search and an insertion sort by hand, showing intermediate state
- implement linear search and a non-destructive bubble sort that cope with empty lists
- calculate shortest distances and A star selections, then cite evidence for what to revisit
Inside: 3 explanation cells, 9 written answers and 1 Python task. 80 marks, about 75 to 90 minutes.
Series: H446 2.3.1 · Algorithms, part 16 of 16.
Shared by Coding PathwayVerified teacher
- 13 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.
Algorithms exam transition
Complete this assessment independently and without checking answers as you go. Feedback is held until after submission. Show intermediate state, use the supplied conventions and apply every explanation to the scenario.
Readiness
Show intermediate states, use precise preconditions and justify conclusions from the scenario.
Scenario
A regional volunteering platform stores opportunities, repeatedly searches an ordered ID list, schedules requests, organises category trees and calculates travel routes.
Design pseudocode that accepts positive session lengths until 0, then outputs count, total and mean. Handle the empty case and give three tests.
Use finite, unambiguous steps.
Students type their answer here.
Explain O(1), O(log n), O(n), O(n²) and O(2ⁿ) using what happens as n grows. Correct the claim '2n is exponential'.
Use proportional/halving language.
Students type their answer here.
Perform binary search for 31 in [3,7,12,18,24,31,42,57], showing low, high, middle and comparison. State the precondition and worst-case growth.
Use zero-based indexes.
Students type their answer here.
Show insertion-sort states for [6,2,5,1], marking the sorted partition. Compare its best and worst inputs.
Show shifts/insertion, not just final result.
Students type their answer here.
Question 5: implement two algorithms
Complete linear_search(data, target) so it returns the matching index or -1, and complete bubble_sort(data) so it returns the values in ascending order without changing the supplied list. Your functions must handle empty lists. Different test data will be used.
def linear_search(data, target):
pass
def bubble_sort(data):
passWrite language-independent algorithms for circular dequeue and linked-list insertion after a known node. State conventions and boundary checks.
No implementation-specific method names are required.
Students type their answer here.
For tree A with children B,C; B has D,E; C has F, give post-order DFS and BFS and explain the controlling structure for each.
Assume left-to-right children.
Students type their answer here.
On the AL13 graph, calculate shortest distances from A and reconstruct the path to E. Explain why selecting the smallest individual edge is wrong.
Show tentative improvements and predecessors.
Students type their answer here.
Nodes P,Q,R have (g,h) values (5,5),(7,1),(3,8). Calculate f and state selection. Explain two differences between A* and Dijkstra, the A* stopping condition and one heuristic risk.
Use f=g+h and distinguish generating the goal from selecting it.
Students type their answer here.
Identify one algorithm you should revisit and cite evidence from your state traces or code.
This reflection is not assessed.
Students type their answer here.