Table of Contents
In summer 2026, 30.0 per cent of GCSE Computer Science candidates in the UK were awarded grade 7 or above, and 70.8 per cent got a grade 4 or above, across 83,501 entries and the four main boards, on figures compiled from JCQ results statistics. Those are respectable numbers for a subject with this reputation. They also hide something that shows up every year in the same place.
Students who work hard at this subject frequently do well on one paper and much less well on the other, and it is usually the same paper. The reason is written down in both boards' specifications, in a table almost nobody outside a department meeting has ever read.
What the boards say they are grading
AQA publishes the assessment objective weightings for GCSE Computer Science 8525, and they are close to mirror images.
| Assessment objective | What it rewards | Paper 1 | Paper 2 |
|---|---|---|---|
| AO1 | Knowledge and understanding | 4.4% | 25.6% |
| AO2 | Applying that knowledge | 20% | 20% |
| AO3 | Design, program, evaluate, refine | 25.6% | 4.4% |
Read the corners. On Paper 1, knowledge is worth 4.4 per cent of the qualification and building things is worth 25.6. On Paper 2, those numbers swap places. It is the same subject and the same student, graded on two more or less opposite abilities, in two rooms a week apart.
Why this explains the pattern
Revision as most students practise it is a knowledge activity. Read the notes, make the cards, answer the questions, check the answers. Applied to Paper 2 that works. Applied to the programming paper it produces a student who recognises correct code without being able to produce it, and recognition is not what is being marked.
The two boards, and what differs
AQA 8525, for exams from June 2027, sets Paper 1 as Computational thinking and programming skills, a two hour written exam worth 90 marks and half the GCSE, in which students design, write, test and refine code in C#, Python 3 or VB.NET. Paper 2, Computing concepts, is one hour forty five, also 90 marks and half the GCSE, and the specification says students should have practical experience of writing and refining SQL in preparation for it.
Cambridge OCR J277 divides differently. J277/01, Computer systems, has no programming in it at all: one and a half hours, 80 marks, half the GCSE, ending in an eight mark extended response question. J277/02 is also an hour and a half and 80 marks, split into Section A worth 50 marks for concepts and Section B worth 30 marks for practical programming.
The OCR detail worth knowing before the paper
All programming code printed in an OCR exam paper is presented in the OCR Exam Reference Language, whatever language the student has been taught. Students may answer in Exam Reference Language or in a high level language they know, but they have to be able to READ the exam language regardless. A student who has only ever seen Python will meet an unfamiliar notation in the room.
The same program, twice
This is less frightening than it sounds, and seeing it once removes most of the fear. Here is a small task, counting how many names begin with a given letter, written in Python.
names = ["Ali", "Bea", "Ana", "Cai", "Ama"]
target = "A"
count = 0
for name in names:
if name[0].upper() == target:
count = count + 1
print(count)
3
And here it is in OCR Exam Reference Language, which is the notation the paper would print it in.
names = ["Ali", "Bea", "Ana", "Cai", "Ama"]
target = "A"
count = 0
for i=0 to 4
if names[i].left(1).upper == target then
count = count + 1
endif
next i
print(count)
Nearly the same shape. A count controlled loop, a condition, a running total. The differences are surface: for i=0 to 4 with next i instead of a for each, endif where Python uses indentation, and string operations written as .left(1) and .upper. Half an hour of reading exam language examples is enough to stop it being strange.
The off by one that ends careers in the exam hall
OCR Exam Reference Language is zero indexed, so subject.substring(3,5) on the string ComputerScience returns puter, starting at the fourth character. Python is also zero indexed. But Cambridge IGCSE 0478 pseudocode counts the first character as position 1, so an identical looking call means something different there.
This matters for any student who has moved between courses, or who is studying with a tutor whose background is a different qualification. Check which convention you are in before you answer a substring question, every single time, because both answers look plausible on the page.
SQL, and why AQA students should not leave it late
The AQA specification includes relational databases and structured query language, and expects practical experience of writing and refining SQL rather than just describing it. SQL is not hard, and it is very unlike the rest of the course, which is why it is so often the topic left until the fortnight before.
SELECT Student.Surname, Club.ClubName
FROM Student, Club
WHERE Student.StudentID = Club.StudentID
AND Student.Year = 10
ORDER BY Student.Surname
Run against a two table school database, that returns:
Ahmed | Robotics
Cruz | Robotics
Two tables joined in the WHERE clause, filtered by a condition on one of them, sorted by a column on the other. Twenty minutes of writing queries against any small database gets a student further than an hour of reading about primary keys, and it is the sort of thing that can be practised in a browser for free.
Two papers, two different revision weeks
The practical upshot of everything above is that a revision timetable for this subject should have two colours in it. Time in the first colour is for recall, and it works the way revision works in any other subject. Time in the second is for writing programs, and the only measure that counts is how many programs got written.
- Write something every day, small. Twenty minutes and one working program beats a two hour session once a week, because the skill being built is fluency and fluency responds to frequency.
- Trace code you did not write. Take a past paper program, work through it with a trace table by hand, and predict the output before running it. This is exactly the Section A and code tracing skill, and it is unpleasant enough that most students skip it.
- Test with normal, boundary and erroneous data. The AQA specification names those three types explicitly. Applying them to your own programs is free marks and better code.
- Do the knowledge paper separately. Blank page recall, then check against the specification rather than against your own notes, because your notes have the same holes your memory does.
The students who struggle with the programming paper are almost never the ones who did not understand it. They are the ones who understood it while watching somebody else type.
, The pattern we see in every GCSE cohort
Where a teacher changes the outcome
There is a specific thing a live class does for this subject that no amount of material does. A student writing code alone gets stuck, tries three things, and either escapes or quietly stops. Somebody watching sees which of the three things was nearly right and says so in the moment, and that is how a misconception dies instead of hardening.
Our GCSE Computer Science tutoring is live, one to one or in a batch of five to eight students, taught from India to students in the UK and worldwide. We teach to whichever board the school entered the student for, because the papers genuinely differ. The first class is free and the most useful thing to bring is the last programming question that did not go well.
Frequently asked questions
Neither, and schools rarely give students the choice anyway. They are differently shaped. AQA asks for code in a real language across a two hour paper, OCR concentrates practical programming into a 30 mark section and prints its code in its own exam language. A student strong at writing code will usually prefer the AQA shape.
For AQA, one of C#, Python 3 or VB.NET, and in practice whichever the school teaches, most often Python. For OCR, the language is less constrained because answers may be given in Exam Reference Language or a familiar high level language, but students still have to read Exam Reference Language in the paper.
No. Both qualifications are assessed entirely by written examination. Both specifications require that students get practical programming experience during the course, but that experience is not separately marked, which is exactly why it is so easy for it to quietly not happen.
Enough to write and refine queries, not just recognise them. Relational databases and SQL are in the subject content and the specification asks for practical experience of writing and refining SQL. Selecting from more than one table with a condition and an ordering covers most of what is asked.
Nine times out of ten it is the programming paper, and the cause is that understanding was built by watching. Ask them to write a small program from a blank file, with no notes, while you sit there. Whatever happens in the next ten minutes is the actual diagnosis.
The knowledge paper can be revised from Easter and still go well. The programming paper cannot, because fluency takes months rather than weeks. Programming practice should be running all through Year 11, at whatever small daily size is sustainable.
Yes, more than almost anything else per minute spent. They appear directly in the papers, they force the code tracing skill the specifications name, and they are the fastest way to find out whether a student is reading code or recognising the shape of code.