Subject-specialist worked solutions — every mark explained. Topical & Yearly Solved, Revision Notes, Predicted Papers. Explore →

Exam Intelligence · 4 Official Documents Analysed

How to Score Higher in OCR A Level Computer Science (H446)

Evidence-based Computer Science H446 exam guide built from official OCR examiner reports and mark schemes. Specialised and comprehensive study tips — specific, cited insights so you can achieve top grades.

Evidence-BasedBuilt from 4 official examiner reports & mark schemes (2023–2024)

What Are Assessment Objectives (AOs)?

Before we dive in, you need to understand how OCR actually marks your answers.

AO stands for Assessment Objective. Think of AOs as the different “skills” OCR tests you on in every single question. When an examiner marks your paper, they don't just give you a mark out of 12 based on how “good” your answer feels — they allocate specific marks to each AO separately.

For example, a 12-mark question might be split as: AO1 (2 marks) + AO2 (2 marks) + AO3 (2 marks) + AO4 (6 marks). If you write a perfect textbook answer but don't evaluate, you can only score 6 out of 12 — because the other 6 marks are specifically reserved for evaluation.

This is why understanding AOs matters: they tell you exactly what the examiner is looking for and how many marks each skill is worth. Here are the 3 AOs for this subject:

AO1

Demonstrate knowledge and understanding of the principles and concepts of computer science, including abstraction, logic, algorithms and data representation

Approximately 35% of total A Level marks

Demonstrate knowledge and understanding of the principles of Computer Science, including hardware, software, data representation, networking, programming paradigms, data structures and legal/ethical issues. Examiners consistently note that naming a concept is insufficient — responses must describe the mechanism or define the term precisely. Brand names for OS types, for example, are not accepted.

AO2

Apply knowledge and understanding of the principles and concepts of computer science including to analyse problems in computational terms

Approximately 30% of total A Level marks

Apply knowledge and understanding to familiar and unfamiliar problems and scenarios. Covers trace tables, algorithm analysis, code interpretation, and applying concepts such as encryption or concurrent processing to a given context. The majority of marks on both papers target AO2, and examiners repeatedly note that candidates who do less well struggle more with AO2 application than with AO1 recall.

AO3

Design, program and evaluate computer systems that solve problems, making reasoned judgements about these and presenting conclusions

Approximately 35% of total A Level marks

Design algorithms and code solutions; evaluate and compare approaches. Assessed through Level of Response (LOR) questions on both papers and the OOP programming scenario in H446/02 Section B. High-scoring AO3 responses make evaluative comparisons relevant to the scenario and move beyond definitions to justify conclusions. The NEA Programming Project (H446/03) is assessed entirely on AO3 strands.

The key takeaway: Most students lose marks not because they lack knowledge (AO1), but because they skip the higher-order skills — building chains of reasoning (AO2) and making supported judgements (AO3). Everything below shows you exactly how to hit each AO based on what OCR examiners have written in their reports.

🚫

Top Mistakes in A Level Computer Science H446

The most common reasons students lose marks in A Level Computer Science H446, cited directly from official OCR examiner reports across multiple sessions.

1

Pseudocode algorithms lacking correctness and structure — integer division and variable assignment omitted

H446/02 Section A Q6, June 2023 · Affects: H446/02

What examiners say

In general, there was a very poor standard of pseudocode algorithms from less successful responses.

OCR H446/02 June 2023, Question 6

How to fix this

For any pseudocode algorithm question: (1) use // or DIV/MOD explicitly — never write bare '/' when integer division is needed; (2) always assign calculation results to a named variable before using them (a line like 'denaryNum MOD 8' earns no marks if the result is discarded); (3) generalise the solution to handle input of any length, not just a fixed number of digits; (4) ensure the output order is correct — if building a result by appending remainders, either append in reverse or reverse the final string.

2

OOP Section B code — confusing class declaration with instantiation, and omitting getter access via methods

H446/02 Section B, both 2023 and 2024 · Affects: H446/02

What examiners say

Those candidates who had very limited practical experience of OOP often produced very little code when it was required.

OCR H446/02 June 2023, Section B Overview

How to fix this

Practise writing complete class definitions end-to-end: constructor (__init__ in Python) sets private attributes using the parameter values passed in (not the other way round). Getter methods must be declared as functions (not procedures) and must return the private attribute value — do not print, do not set. When accessing an object's data in another method, always call the getter method (e.g. obj.getValue()) rather than accessing the attribute directly. Mark the distinction between a class declaration and object instantiation — they are separate steps.

3

Big O complexity — confusing O(n²) and O(2ⁿ) and giving circular definitions

H446/02 Q7*, June 2023 and Q6(d)(iv), June 2024 · Affects: H446/02

What examiners say

Candidates need to have the mathematical grounding to understand the difference between different Big O growth factors.

OCR H446/02 June 2024, Question 6 (d) (iv) Misconception

How to fix this

Distinguish polynomial from exponential: O(n²) means the time grows as the square of n (e.g. bubble sort worst case) — this is polynomial. O(2ⁿ) means the time doubles with every additional input item — this is exponential. Never define 'exponential complexity' as 'grows exponentially'; the mark requires a description in terms of n (e.g. 'the number of operations doubles each time n increases by 1'). For logarithmic O(log n): explain that the amount of additional work required becomes progressively smaller as n grows, not just that it is proportional to log n.

4

Merge sort misconception — sorting is thought to happen within sub-lists rather than during the merge phase

H446/02 Q7*(c)(i), June 2023 · Affects: H446/02

What examiners say

Many candidates continue to think that a merge sort performs sorting of data within lists.

OCR H446/02 June 2023, Question 7* (c) (i) Misconception

How to fix this

The key insight: merge sort splits the data into individual items (base case: a single item is trivially sorted), then rebuilds sorted order by merging pairs of already-sorted sub-lists using two pointers. During the merge phase, the pointers compare the front items of the two sub-lists; the smaller is appended to the output list and that pointer advances. No sorting happens within sub-lists — all ordering is achieved by the merge comparisons. Questions frequently test whether you can describe the merge phase accurately, not just the split phase.

5

Concurrent vs parallel processing — vague language and confusing the two terms

H446/02 Q7*(b)(i) and Q7*(b)(ii), June 2023 · Affects: H446/02

What examiners say

Efficiency as a benefit on its own was insufficient, whereas 'less CPU idle time' was a well-qualified example of a benefit.

OCR H446/02 June 2023, Question 7* (b) (ii)

How to fix this

Concurrent processing = multiple processes appear to run simultaneously on a single processor via time-slicing or scheduling; at any instant only one process uses the CPU. Parallel processing = multiple instructions genuinely execute at the same time on multiple processors/cores. Saying 'many things processed at the same time' without specifying what the things are earns no marks. For benefits of concurrency: say 'less CPU idle time' or 'more tasks completed within a given time unit' — not just 'quicker' or 'efficient', which are too vague. Note: pipelining is not concurrent processing.

6

Graph vs tree terminology — using wrong vocabulary and incorrect property descriptions

H446/02 Q3(b), June 2024 · Affects: H446/02

What examiners say

Clear use of technical terms is expected at this level.

OCR H446/02 June 2024, Question 3 (b)

How to fix this

Know the precise vocabulary for each structure: trees have nodes (not vertices), branches (not edges), and are hierarchical, rooted and acyclic. Graphs have vertices and edges (directed or undirected, weighted or unweighted), may contain cycles and need not be connected. When comparing a tree to a graph, state that a tree is a connected, acyclic subgraph. Binary search tree properties: (1) each node has at most two children; (2) all nodes in the left sub-tree are less than the parent; (3) all nodes in the right sub-tree are greater than or equal to the parent.

7

Stack pop() operations — returning the value before decrementing the pointer loses the decrement step

H446/02 Q5(a), June 2024 · Affects: H446/02

What examiners say

Some candidates erroneously stated that the value at topStack - 1 would be returned before saying that topStack would be decremented.

OCR H446/02 June 2024, Question 5 (a)

How to fix this

The correct pop() sequence is: (1) check the stack is not empty (topStack > 0 or equivalent); (2) store the value at the current top (data[topStack]); (3) decrement the topStack pointer; (4) return the stored value. Returning the value inside the function immediately ends the function — any code after a return statement does not execute. So if you return topStack - 1 first, the decrement on the next line is never reached. Write out each step explicitly and ensure the decrement occurs before the return.

8

Extended-response questions (LOR) — staying at Level 2 by defining terms without evaluating within the scenario

LOR questions across both papers, both years · Affects: H446/01, H446/02

What examiners say

Candidates should be aware that in level of response questions application of knowledge to the scenario is needed to get into the Level 2 and Level 3 mark bands.

OCR H446/01 June 2024, Question 2 (e) Assessment for Learning

How to fix this

Level 1 = isolated facts or definitions. Level 2 = correct description with some reference to the scenario. Level 3 = evaluative comparison relevant to the specific context. To reach Level 3: take each key point and ask 'so what does this mean for this particular scenario?' For example, when asked about database types for a growing membership system, it is not enough to describe relational and non-relational databases — you must evaluate which is better suited as membership scales, citing specific features such as referential integrity, schema flexibility or query performance. Conclude with a justified recommendation.

Apply what you've learned

Practice identifying these mistakes in real papers. Try a recent paper and mark yourself — you'll spot these patterns immediately.

What A Level Computer Science H446 Examiners Reward

Patterns that consistently earn high marks in A Level Computer Science H446, based on OCR examiner report commentary on top-scoring answers.

Binary and hexadecimal conversion questions answered with full marks across the cohort

H446/01 examiners noted in both 2023 and 2024 that 'it was good to see how many candidates were able to gain full marks on the binary and hexadecimal questions'. Binary/hex conversions, two's complement and floating-point representation questions consistently earn high average marks when candidates show clear working.

Source: OCR H446/01 June 2023 and June 2024, Paper 1 Series Overview

Dijkstra's algorithm executed step by step with the table showing overwritten tentative distances

H446/02 June 2023 Q1(b): examiners noted that for full marks there had to be an indication that the first path to G (19 from E) was overwritten by G (14 from D). Candidates who demonstrated the correct node-selection rule (always expand the unvisited node with the least tentative distance) and showed each table update achieved the highest scores.

Source: OCR H446/02 June 2023, Question 1 (b)

Insertion sort demonstrated with clear pass-by-pass state showing the sorted and unsorted partitions

H446/02 June 2024 Q6(c): the examiner praised an exemplar response that 'demonstrated the state of the dataset after each pass of the insertion sort' and separated the sorted and unsorted parts of the list to make the response much clearer. Nearly half the cohort achieved full marks using this approach.

Source: OCR H446/02 June 2024, Question 6 (c)

Relational vs non-relational database LOR with justified recommendation applied to the specific scenario

H446/01 June 2024 Q7*: examiners praised responses that explained features of both database types, gave relevant benefits and drawbacks, and 'applied it to the scenario well and gave a recommendation'. An exemplar response was cited showing 'good application to the scenario as well as benefits and drawbacks of both database types'.

Source: OCR H446/01 June 2024, Question 7*

Floating-point representation questions — correctly converting between binary and denary including negative values

H446/01 June 2024 Q4(c) and Q4(d): examiners noted many candidates gained full marks, with the most common route being converting the exponent to 6, moving the binary point 6 places right, then converting back to denary. Showing each step explicitly allows partial credit even when the final denary conversion is wrong.

Source: OCR H446/01 June 2024, Questions 4 (c) and 4 (d)

OOP Section B answered with concise, elegant code using getter methods correctly

H446/02 June 2023 Q9(d): examiners noted that 'competent coders often gave responses worthy of full marks within just a few lines of code' and that candidates who used the appropriate get() methods to access object attributes presented 'elegant and concise solutions'. Those with fluent OOP experience consistently score high on the entire Section B scenario.

Source: OCR H446/02 June 2023, Question 9 (d)

📝

A Level Computer Science H446 Answer Frameworks

Structured approaches for each A Level Computer Science H446 question type, derived from OCR mark scheme requirements.

Level of Response (LOR) extended-writing question — H446/01 or H446/02

~15–20 minutes for a 6–9 mark LOR

Structure

Define the core concepts for both items being compared or evaluated. → Apply each concept to the specific scenario in the question (name the scenario variables/context explicitly). → Compare the merits and limitations of each approach in the context given. → Reach a justified conclusion recommending one approach for this scenario.

  • Identify the number of bullet points in the question — OCR LOR questions usually list 3 bullet areas to guide your response; address each one
  • Use the scenario nouns explicitly — if the question is about a growing sports membership system, say 'as membership grows, a relational database's referential integrity constraints will prevent orphaned records', not just 'relational databases support data integrity'
  • Reach a Level 3 conclusion: 'For this scenario, X is more appropriate because…' — without a justified conclusion you are unlikely to exceed Level 2
  • Keep definitions brief (one sentence each) — the majority of your marks come from application and evaluation, not from repeating the specification

Pseudocode algorithm (H446/02 Section A)

~10–15 minutes for a 5–6 mark algorithm

Structure

Identify whether a function or a standalone block is needed. → Take user input (the question will specify). → Write the main loop using the correct loop type (while/repeat-until/for). → Compute intermediate values and assign them to named variables before using them. → Append/build the output in the correct order. → Output the result.

  • Use explicit integer division (DIV or // or MOD) — never use '/' and assume integer results
  • Assign every intermediate calculation to a variable: 'remainder = denaryNum MOD 8' is markworthy; 'denaryNum MOD 8' on its own is not
  • Think about order: for a base-conversion algorithm, remainders must be output/prepended in reverse order of calculation
  • If the question says 'take user input', do not produce only a parameterised function — include an input statement and pass the value to the function

OOP class definition and method writing (H446/02 Section B)

~5–10 minutes per sub-part in Section B

Structure

Declare the class. → Write the constructor (__init__ or equivalent) with the correct parameter list, setting each private attribute from the parameter passed in. → Write getter() as a public function that returns the private attribute. → Write setter() as a public procedure that sets the private attribute to the parameter value. → Instantiate an object with the correct argument types (string vs integer). → Call methods on the object instance.

  • The constructor assigns parameters TO attributes (self.__value = pValue), not attributes to parameters
  • A getter must be a function (not a procedure) — it must return a value; do not print or set anything inside a getter
  • Use a public access modifier for all methods that are called from outside the class; use private only for attributes
  • When instantiating, pass arguments of the correct type — strings in quotes, integers without quotes; passing '25' instead of 25 is a common error that loses marks

Dijkstra's / A* shortest-path algorithm trace (H446/02)

~12–18 minutes for a full algorithm trace with table

Structure

Initialise all tentative distances to infinity except the start node (0). → Identify the unvisited node with the smallest tentative distance and mark it as visited. → Update the tentative distances of all unvisited neighbours from this node. → Repeat until the destination node is marked visited. → Trace the shortest path by backtracking through the predecessor nodes.

  • For Dijkstra's: always continue the algorithm from the node with the least unvisited distance — a common error is stopping too early with an incorrect path
  • For A*: stop as soon as the goal node is extracted from the open list — do not continue exploring all paths as you would in Dijkstra's
  • Show when a tentative distance is overwritten — this is frequently a mark point (e.g. showing G = 14 from D overwrites G = 19 from E)
  • Label the predecessor for each node as you update it — this is needed to trace the final path

Recursion trace table (H446/02 Section A)

~8–12 minutes for a 4–5 mark trace

Structure

Identify the base case and the recursive case. → Start the trace from the initial call. → For each call, record the parameter value. → Identify when the base case is reached and begin the unwind. → Return values up the call stack in the correct order.

  • The base case is the condition that stops recursion — identify it before starting the trace
  • Trace the call that triggers the base case explicitly — many candidates correctly trace the descent but lose marks by missing the last recursive call
  • Unwind in reverse order: the innermost (last) call completes first and returns its value upward
  • Use a table with columns for call number, parameter value, and return value — this structure earns method marks even if the final answer is wrong

Practice by topic

Use topical past papers to practice specific question types. Each topic collects questions from multiple years — perfect for drilling the frameworks above.

💬

A Level Computer Science H446 Command Words Decoded

Each command word in A Level Computer Science H446 is a scoring instruction. Understanding what OCR examiners expect is critical to earning full marks.

describe2–4 marks typically

Give a detailed account of what something does and how it works. At A Level, naming a feature without explaining its mechanism is never sufficient — examiners routinely note that candidates who simply name OS functions, OOP components or algorithm properties without expanding on what they do or how they are used score poorly.

Common mistake

Giving a one-word or one-line answer that names the concept without explaining the mechanism — e.g. 'memory management' instead of 'the OS allocates regions of RAM to each process and reclaims memory when a process terminates'.

benefits were often poorly described, or OOP components were just named without a relevant expansion as to how they could be used

explain2–4 marks typically

Give the reason or mechanism that makes something true or effective, with the causal link explicit. For advantage/disadvantage questions, each point must be qualified — saying 'saves time' or 'more efficient' without specifying how or in what sense is consistently rejected.

Common mistake

Providing an unqualified claim — e.g. 'saves time' without saying 'saves development time because pre-written routines are already available and do not need to be coded or tested again'. The qualification earns the mark.

Many less successful responses gave vague generalities such as 'saves time' or 'more efficient' without specifying why or how. Points given must be qualified in some way at A Level.

state1 mark typically

Give a precise, technically exact answer. Only one or two words may be required, but they must be the correct technical terms. OS brand names, vague synonyms and imprecise descriptions are not accepted.

Common mistake

Using informal synonyms or brand names — e.g. naming 'Windows' as a type of operating system rather than 'multi-user OS' or 'multi-tasking OS'.

write / give code3–7 marks typically

Produce syntactically correct pseudocode or program code that fulfils the stated requirements. Marks require the code to be unambiguous and logically correct. Pseudocode that is language-specific in style is accepted as long as the intent is clear and the logic is sound.

Common mistake

Forgetting to assign the result of a calculation to a variable; using '/' instead of '//' or DIV/MOD for integer division; returning a value from a function before executing the remaining required steps; using string 'True'/'False' instead of Boolean True/False.

compare2–4 marks typically

State differences and/or similarities between two or more items, addressing each item explicitly. Discussing only one side of a comparison earns partial marks at best.

Common mistake

Describing only one of the two items being compared — e.g. describing only while loops without contrasting with do loops, or describing a binary search tree without contrasting with a linear list.

evaluate (LOR)6–9 marks for LOR questions

Make an informed, evidenced judgement weighing advantages and disadvantages, and reach a conclusion relevant to the specific scenario. Level 3 requires evaluative comparisons contextualised to the scenario — not just definitions and general benefits.

Common mistake

Stopping at Level 2 with a description and some examples but no evaluation of relative merits. Always end a LOR response with a justified recommendation or conclusion tied to the specific context given in the question.

📐

A Level Computer Science H446 Diagram Checklist

Incorrect diagrams in A Level Computer Science H446 are flagged in every OCR examiner report. Use this checklist before every practice and in the exam.

Diagram checklist

Diagram checklist

Diagram checklist

Diagram checklist

Diagram checklist

⚠️

Topics Students Struggle With Most In A Level Computer Science H446

These A Level Computer Science H446 topics consistently produce the lowest scores. Prioritise these in your revision.

!

Pseudocode algorithm writing — integer division, variable assignment and output ordering

H446/02 June 2023 Q6: examiners observed 'a very poor standard of pseudocode algorithms from less successful responses'. Common errors included using bare '/' for integer division, performing a MOD or DIV operation without assigning the result to a variable, failing to generalise the solution for inputs of any length, and appending remainders in the wrong order without reversing at the end.

Affects: H446/02

!

OOP programming — constructors, getters/setters, encapsulation and object instantiation

H446/02 Section B, both 2023 and 2024: candidates with limited OOP experience produced very little code. Common errors: assigning parameters to attributes in reverse (attribute to parameter); declaring getters as procedures without a return statement; using private access modifiers on methods that must be called externally; passing '25' (string) instead of 25 (integer) on instantiation; confusion between class declaration and instantiation.

Affects: H446/02

!

Merge sort — the sorting mechanism during the merge phase

H446/02 June 2023 Q7*(c)(i): examiners issued a formal Misconception note stating that many candidates believe sorting happens within sub-lists. Very few candidates could accurately describe how the merge phase uses two pointers to compare items from two already-sorted sub-lists and build a new sorted output. Omitting the merge phase description entirely was also common.

Affects: H446/02

!

Big O notation — distinguishing polynomial O(n²) from exponential O(2ⁿ), and defining logarithmic growth precisely

H446/02 June 2023 Q7*(a) and June 2024 Q6(d): in 2023 a significant number of candidates thought exponential complexity was O(n²) rather than O(2ⁿ). In 2024 a formal Misconception note was issued stating 'candidates erroneously thought that n² or 2n demonstrated exponential growth instead of 2ⁿ'. Circular definitions ('grows exponentially') were not credited. Logarithmic O(log n) was also poorly explained — many candidates stated proportionality without explaining the diminishing additional work.

Affects: H446/02

!

Record data structures — distinct from database records

H446/02 June 2024 Q7(a): examiners noted 'Record structures were poorly understood, and it was clear that many candidates had very limited experience of using records / structures within a programming language. Many candidates gave responses related to database records rather than record data structures.' Candidates confuse the programming construct (a collection of named fields of potentially different types) with a database row.

Affects: H446/02

!

Virtual memory — pages and segments and their relationship to virtual address spaces

H446/01 June 2023 Q1(g)*: examiners noted that 'many candidates were able to show an understanding of pages being a fixed size and segments being variable size, but few were able to relate virtual memory to the use of pages and segments and few had an understanding of how they are used.' Responses about why virtual memory is important tended to be vague, and a few candidates irrelevantly discussed compression.

Affects: H446/01

!

Protocol layering — explaining why protocols are layered rather than just describing the TCP/IP layers

H446/01 June 2023 Q1(d)(iv): examiners noted that 'protocol layering has appeared in questions in previous papers, but many candidates were not able to explain why they are layered. Some candidates gave a description of the layers in TCP/IP without saying why it was layered.' The expected answers centred on independence of layers (changes to one layer do not require changes to others) and interoperability.

Affects: H446/01

!

Symmetric vs asymmetric encryption and hashing in context — applying the distinction correctly to a scenario

H446/01 June 2023 Q4(c)*: examiners noted that 'most candidates could name symmetric and asymmetric encryption and state how the keys in each were used as well as being able to show a basic understanding of hashing being irreversible but few could apply that to the question.' Many wrote about hash tables despite the question specifying that hashing was used to secure data.

Affects: H446/01

Target your weak areas

The topics above are where most marks are lost. Use past papers and mark schemes to practice these specific areas until they become second nature.

Frequently Asked Questions

How is OCR A Level Computer Science H446 structured, and how many marks is each component worth?

H446 has three components. H446/01 (Computer Systems) is a 2-hour 30-minute written paper worth 140 marks covering hardware, software, networking, databases, data representation and legal/ethical issues. H446/02 (Algorithms and Programming) is also 2-hour 30-minute and 140 marks, with Section A on data structures, algorithms and computational thinking and Section B on an OOP programming scenario. H446/03 is the Programming Project (NEA) worth 70 marks, completed as coursework over the course. All three components contribute to the final grade.

What programming language should I use for the H446/03 NEA project, and does OCR specify one?

OCR does not mandate a specific programming language for H446/03. Candidates may use any language appropriate to their chosen problem — Python, Java, C#, Visual Basic, JavaScript, C++ and others are all acceptable. The choice should be driven by the requirements of the project: a data-heavy backend may suit Python with SQLite, a GUI-intensive app may suit Java or C#. The marks are awarded on the quality of analysis, design, implementation, testing and evaluation — not on the language chosen. Teachers and moderators are experienced with a wide range of languages.

What are OCR's specific pseudocode rules for H446/02?

OCR's pseudocode reference guide is published as Appendix 5b of the H446 specification and reproduced at the back of the H446/02 question paper. Permitted programming languages for free-text answers are Python, Java, C# and OCR pseudocode — but you may write in any one consistently and credit is given for clarity, not language choice. Operators: DIV and MOD for integer division and modulus (// and % from Python are accepted); arithmetic uses standard symbols; '=' is comparison and '<-' or '=' is assignment depending on dialect (OCR pseudocode uses '='). String indexing is zero-based. Functions and procedures use the function/endfunction and procedure/endprocedure block forms. There is no 'official' indentation style — examiners credit any consistent layout.

What is the difference between OCR A Level Computer Science H446 and AS Level H046?

H046 is the standalone one-year AS Level qualification assessed by two papers (H046/01 Computer Systems and H046/02 Algorithms and Programming), each 1 hour 30 minutes. H446 is the full two-year A Level, assessed by H446/01, H446/02 (each 2 hours 30 minutes, 140 marks) plus the H446/03 NEA project. AS H046 results do not count towards the A Level grade — they are separate qualifications. All content, quotes and analysis on this page refer exclusively to the A Level H446.

How does OCR H446 compare to AQA Computer Science 7517 and Cambridge International 9618?

All three are linear A Level Computer Science qualifications at broadly similar standard. OCR H446 is distinctive for its Section B OOP programming scenario in H446/02, which requires candidates to write substantial class-based code in exam conditions without a skeleton program — OCR examiners consistently note that practical OOP experience is essential to score well here. AQA 7517 provides a Skeleton Program for its on-screen Paper 1, which scaffolds the programming task more heavily. Cambridge International 9618 includes a pre-release material component and places greater emphasis on low-level programming and processor simulation. OCR H446 also requires the H446/03 NEA project (70 marks), making coursework a significant proportion of the total 350 marks.

How is the H446/03 NEA Programming Project marked and moderated?

The NEA is marked internally by your teacher against OCR's five-strand mark scheme: analysis (8 marks), design (10 marks), implementation (30 marks), testing (8 marks) and evaluation (14 marks) — total 70 marks. Your centre submits a sample of marked work to OCR for external moderation, which may adjust the marks up or down. The most important strand by marks is implementation: the quality, completeness and sophistication of the actual working program. Examiners provide an online subject-specific NEA course on Teach Cambridge to help teachers apply the marking criteria consistently.

Put It All Into Practice

You now know exactly what OCR examiners reward and penalise. The next step is deliberate practice with real papers. We have 5 exam sessions available for A Level Computer Science H446 — question papers, mark schemes, and examiner reports.

Methodology: Synthesised from 4 official OCR Principal Examiner Reports across H446/01 (Computer Systems) and H446/02 (Algorithms and Programming) for June 2023 and June 2024 series.. All examiner quotes are taken directly from official OCR Report on the Examination documents. Question references correspond to specific past paper questions. This guide is updated when new examiner reports are released. Last updated: 2026-05-05.