specification overview
OCR A-Level Computer Science (H446) is a two-year linear qualification split between two written papers and a programming project. Component 01 (Computer Systems) is worth 40%, Component 02 (Algorithms and Programming) is worth 40%, and Component 03/04 (the Programming Project, non-exam assessment) is worth 20%.
subject content
1.1. The characteristics of contemporary processors, input, output and storage devices
Component 01- CPU architecture, fetch-decode-execute cycle
- Memory, storage and I/O devices
1.2. Software and software development
Component 01- Types of software; systems software; applications software
- Programming paradigms and software development methodologies
1.3. Exchanging data
Component 01- Compression, encryption and hashing
- Databases, SQL and normalisation
- Networks, protocols and the internet
1.4. Data types, data structures and algorithms
Component 01- Primitive and composite data types
- Data structures (arrays, linked lists, trees, stacks, queues, hash tables)
- Boolean algebra and logic gates
1.5. Legal, moral, cultural and ethical issues
Component 01- Computing legislation and privacy
- Ethical issues in computing
2.1. Elements of computational thinking
Component 02- Abstraction, decomposition, pattern recognition and algorithms
- Thinking procedurally, logically, concurrently and abstractly
2.2. Problem solving and programming
Component 02- Programming techniques and structured problem-solving
- Software development lifecycle
2.3. Algorithms
Component 02- Algorithm analysis (Big-O)
- Standard algorithms (searching, sorting, graph traversal, path-finding)
assessment structure
| Paper | What's assessed | Length | Marks | Weight | Question types |
|---|---|---|---|---|---|
| Component 01 (Computer systems) | Topics 1.1-1.5: architecture, software, exchanging data, data structures, ethics | 2h 30m | 140 | 40% | Short-answer, structured and extended-response questions |
| Component 02 (Algorithms and programming) | Topics 2.1-2.3: computational thinking, problem-solving, algorithms | 2h 30m | 140 | 40% | Short-answer, structured and extended-response questions including algorithm and code writing |
| Component 03/04 (Programming project) | Non-exam assessment: a student-chosen practical programming project | Coursework | 70 | 20% | Analysis, design, development, testing and evaluation of a substantial programming project |
The Programming Project (Component 03 or 04) is a substantial NEA worth 20% of the A-Level. The two components are the same assessment and differ only in the moderation route: H446/03 is work uploaded electronically (OCR Repository / Submit for Assessment), while H446/04 is a sample posted to the moderator. Language choice is identical either way.
assessment objectives
| AO | What it means | Overall |
|---|---|---|
| AO1 | Demonstrate knowledge and understanding of the principles and concepts of computer science, including abstraction, logic, algorithms and data representation. | 35% |
| AO2 | Apply knowledge and understanding of the principles and concepts of computer science including to analyse problems in computational terms. | 30% |
| AO3 | Design, program and evaluate computer systems that solve problems, making reasoned judgements about these and presenting conclusions. | 35% |
key tips for success
Start the programming project early
The NEA is 20% and needs substantial development time. Start scoping the problem in year 12 rather than leaving it for year 13.
Master Big-O analysis
Component 02 tests algorithm analysis. Practise deriving Big-O for common algorithms (bubble sort, quicksort, mergesort, binary search, graph traversal, path-finding).
Learn standard algorithms cold
Searching (linear, binary), sorting (bubble, insertion, merge, quick), graph traversal (BFS, DFS), path-finding (Dijkstra, A*). Know how to trace and code each.
Practise database and SQL
Component 01 tests relational databases through to 3NF. Practise writing SQL SELECT/JOIN/GROUP BY queries and normalising unstructured tables.
Know the TCP/IP stack
Application, transport, network, link layers. Understand which protocols sit at each layer (HTTP, TCP, IP, Ethernet). Consistently examined on Component 01.
Understand programming paradigms
Procedural, object-oriented, functional, declarative. Understand differences, when each is appropriate and how to identify them in unfamiliar code.
Where to next
Start your learning journey today...
Practise with Cognito's free past papers for this spec – or browse grade boundaries and related specifications.

