OCR A Level Computer Science (H446) is a rigorous two-year course combining hardware and software theory, algorithm design and a substantial programming project. The specification is assessed through two written papers and a coursework component where students design and build their own software solution. This page provides free revision resources, interactive coding tools and tutoring support aligned to every area of the OCR H446 specification.
All tools are completely free — no account required. They work alongside your classroom teaching and are designed around the OCR A Level specification.
These questions are in the style of OCR A Level exam questions. Use the hint to check your approach, then visit the Question Bank for hundreds more with mark schemes.
Explain the difference between lossy and lossless compression. State one situation where each would be appropriate.
Hint: Lossless: no data is removed; original file is perfectly reconstructed [1]. Appropriate for: text files, program code, databases [1]. Lossy: data is permanently removed; smaller file, cannot be reversed [1]. Appropriate for: JPEG images, MP3 audio, streaming video where perfect quality is not critical [1].
Describe how Dijkstra's algorithm finds the shortest path in a weighted graph.
Hint: Set distance to start = 0, all others = infinity [1]. Add start to priority queue [1]. Dequeue node with smallest distance, mark visited [1]. For each unvisited neighbour, calculate alt distance = dist[current] + weight [1]. If alt < current dist[neighbour], update and re-queue [1].
Write a recursive Python function to perform a binary search on a sorted list. Include a base case.
Hint: Base case: low > high → return -1 (not found) [1]. Calculate mid = (low + high) // 2 [1]. If arr[mid] == target, return mid [1]. If target < arr[mid], recurse on left half [1]. If target > arr[mid], recurse on right half [1].
Explain what is meant by a "tractable" problem in computational theory and give one example of an intractable problem.
Hint: Tractable: can be solved in polynomial time O(n^k) [1]; is practically solvable for large inputs [1]. Intractable example: Travelling Salesman Problem (TSP) — no known polynomial solution; only heuristic/approximate solutions exist for large n [1].
Describe two advantages of using an object-oriented programming (OOP) approach compared to procedural programming for a large software project.
Hint: Encapsulation: data and methods are bundled; hides implementation details; reduces errors from unintended access [1+1]. Reusability: classes can be inherited and extended; reduces code duplication; speeds up development [1+1].
Want hundreds more practice questions?
The Question Bank has exam-style questions with worked mark schemes — all free.
Gareth is an experienced Computer Science teacher and tutor specialising in OCR A Level and A Level. Sessions cover the topics you find most difficult — from understanding the FDE cycle to debugging your NEA code. Lessons are online via video call with a shared digital workspace.
OCR H446 Component 03 is a programming project worth 70 marks, counted as 20% of the A Level. Unlike AQA's skeleton code, OCR students choose their own project from a provided theme or brief. Students produce a documented software solution covering analysis, design, development, testing and evaluation.
Both Component 01 (Computer Systems) and Component 02 (Algorithms and Programming) are 2 hours 30 minutes and worth 140 marks each. Together they account for 80% of the A Level. The programming project (Component 03) accounts for the remaining 20%.
Both specifications cover broadly similar ground, but OCR H446 includes more emphasis on: legal and ethical aspects of computing, hardware and software development lifecycle models, detailed coverage of communication methods (circuit vs packet switching), and the OCR specification explicitly covers declarative programming (Prolog-style) in addition to functional programming.
Component 03 is marked by your teacher using the OCR mark scheme and moderated externally. The 70 marks are distributed across: analysis (7 marks), design (12 marks), technical solution (30 marks), testing and evaluation (16 marks), and documentation (5 marks).
OCR Component 02 assesses: graph traversal (depth-first, breadth-first, Dijkstra), sorting (bubble, insertion, merge, quick), searching (linear, binary), tree traversal (pre-order, in-order, post-order), dynamic programming, Big O complexity analysis, and computational thinking skills including heuristic approaches.
Yes. Recursion is explicitly assessed in OCR H446 Component 01 and Component 02. You need to understand recursive algorithms, be able to trace recursive calls using a call stack, write recursive functions, and understand base cases and recursive cases. Stack overflow from missing base cases is a common exam question.