Summary: I don’t think GCSE CS is too hard for all students but the data here shows that steps need to be taken to make Computer Science more accessible to the students from the whole 9-1 ability range.

Back in September (whilst I was analysing my Computing department’s GCSE results for 2019), Dave Thomson from FFT Data labs published this analysis of the previous year’s (2018) national results:

Figure 1: Difference in points scored in GCSEs compared to English and Maths
Source: FFT Data labs

This shows that nationally, the 67,100 students who took a Computing GCSE in England in 2018 achieved around a grade better in English and Maths than they did in Computing.

Why do students achieve a grade lower in CS compared to English and Maths?

I’ve heard many possible explanations for this but I’m not thoroughly convinced by any of them and so I’ve been on a quest to try to understand that 1 grade difference between Computer Science and English / Maths.

I want Computing to be a subject where any student can see their hard work pay off with similar outcomes to any of their other GCSE subjects. Computing should be accessible to students of any race, religion, background, gender or prior ability.

I’ve been teaching for 12 years and in that time I’ve been asked to teach over 12 different subjects. My background is in Electronic and Computer Systems Engineering so whilst I enjoyed teaching the-now-defunkt-ICT, I’m loving teaching its replacement Computing (KS3) / Computer Science (KS4-5).

I started my teaching career specialising in vocational subjects for students with special educational needs / disabilities and I’ve always loved seeing how ‘weaker’ students can defy the odds to succeed and create opportunities for themselves.

Vocational ICT qualifications are few and far between now but used to be hugely prevalent. The skills-based ICT curriculum could be very creative and practical but the vocational qualifications which assessed them became almost synonymous with schools ‘gaming’ the league tables to quickly get large numbers of students multiple GCSE equivalent grades. ICT departments could get results that were the envy of every other department through qualifications such as OCR Nationals and ECDL which were seen as far too easy and in no way ‘equivalent’ to other GCSEs despite historically counting as such in league tables.

I suspect that the grade boundaries for the first cohort of Computer Science at GCSE were deliberately set harshly to make sure that CS was seen as a rigorous alternative to ICT.

The problem is, the distribution of students achieving each GCSE grade is preserved from one year to the next by exam boards in the interest of fairness and comparability. Exam boards attempt to keep the percentage of students achieving each grade the same from year to year. This means that even if Computing receives more curriculum time or every student is taught by an experienced specialist, future cohorts of students can still expect to under achieve in Computer Science compared to their other subjects unless something changes in the way GCSE CS is assessed.

How does the distribution of grades in CS compare to other subjects?

I personally think GCSE Computer Science should be accessible to students of all abilities but I understand why many schools are selective with their cohorts. Computer Science is perceived as a difficult subject and many schools only allow higher ability students to enter the course.

I don’t have any data to back up that statement about many schools being selective by prior ability so I wanted to see if the if the proportion of each grades awarded at GCSE was skewed towards the higher grades.

Figure 2: Percentage of students achieving each GCSE grade in Maths, English and Computer Science in 2019

Figure 2 shows the proportion of students achieving each grade in 2019 in England only.

I’ve included German in all graphs as it was the only subject where students under-performed more significantly than Computer Science compared to English and Maths.

You can see that whilst German grades are skewed towards the higher higher grades (many lower-prior-ability students won’t be entered for language GCSEs), Computer Science is slightly skewed towards the lower grades. This doesn’t look significant – Computer Science has a fairly normal distribution of grades from 9-1.

Figure 3: Cumulative percentages of students achieving each GCSE grade in Maths, English and CS in 2019

The shape of the CS grade distribution curves would imply that there’s a fairly standard distribution of students of all prior abilities being entered for GCSE Computer Science, but is that the case?

What is the prior ability range of students entered for GCSE Computer Science?

Dave Thomson (who wrote the FFT article at the top of this post) kindly provided me with a link to national GCSE results for 2018 compared to their KS2 starting point. Data for 2019 is only provisional at time of writing.

The graph below shows the prior ability (at KS2) of the 2018 and 2019 cohort of students entered for Maths, English, German and CS GCSEs:

Figure 4: Prior ability of GCSE entries (2018-2019)
Source: DFE KS2-KS4 Transition Matrices
Figure 4: Prior ability of GCSE entries (2018-2019)
SourceDFE KS2-KS4 Transition Matrices

‘Average’ KS2 results were around a 4b so the shape of the English Language curve on Figure 4 is what you’d expect if all students were entered across the whole ability range. The little spike on the left of the graph is because levels W, 1 and 2 are not split into sub levels but are all grouped together rather.

You can see that both German and (to an even greater extent) Computer Science are skewed towards more high-prior-ability students being entered. You can see that reflected in Figure 3 for German because the grey line has been shifted across to the higher grades but you can’t see the same shift for Computer Science.

Figure 5: Prior ability of CS GCSE Entries (2018-2019) by gender  Source: DFE KS2-KS4 Transition Matrices
Figure 5: Prior ability of CS GCSE Entries (2018-2019) by gender
Source: DFE KS2-KS4 Transition Matrices

Figure 4 and 5 show that lower prior ability students aren’t being entered for GCSE Computer Science as frequently as higher prior ability students. They don’t explain whether lower ability students opt out for themselves or whether their schools don’t give them that opportunity but they do show that it’s an issue for both boys and girls (slightly more significantly so for girls).

How accessible is Computer Science to lower prior ability students?

The initial graph from Dave’s FFT article shows that on average students can expect to achieve around a grade lower in CS than their other subjects but I wanted to know if that under-performance was consistent across the whole ability spectrum. Do lower-prior-ability students under-perform more significantly in CS or is that 1 grade difference the same regardless of their prior ability?

Figure 6: Most likely GCSE grade (2018) depending on KS2 prior ability   Source: DFE KS2-KS4 Transition Matrices
Figure 6: Most likely GCSE grade (2018-2019) depending on KS2 prior ability
Source: DFE KS2-KS4 Transition Matrices

Next, I used the DfE transition matrices to work out the work the most frequently occurring grade at GCSE for students of each KS2 starting level. As you’d expect, students with a higher starting point (horizontal axis on Figure 6) can expect higher GCSE grades (vertical axis) for each of Maths, English, German and CS.

The red (Computer Science) line trails below every other subject (except German for high prior ability students). The gap between English/Maths and CS widens for lower ability students (then narrows slightly)

Figure 7: Difference between most likely GCSE grade for CS, Maths, English (2018) and Eng/Ma grade by prior ability   Source: DFE KS2-KS4 Transition Matrices
Figure 7: Difference between most likely GCSE grade for CS, Maths, English (2018-2019) and Eng/Ma grade by prior ability
Source: DFE KS2-KS4 Transition Matrices

Figure 7 is similar to Dave’s original FFT chart (Figure 1) showing the difference between a student’s GCSE results in CS, Maths and German compared to the average of their grades for Maths and English. However, Figure 7 splits this relative over/under performance down by the prior ability of students entered for each subject.

The brown line (English and Maths average GCSE grade) is flat, at 0, as you’d expect and is included for reference as all other curves are relative to that average of English and Maths grades.

It’s interesting to see that higher-prior-ability students in German under-perform more significantly than lower-prior-ability students but the opposite is true for Computer Science students: lower-prior-ability students under-perform more significantly than higher-prior-ability students.

Figure 8: Difference between most likely GCSE grade for CS, Maths, English (2018) and Eng/Ma grade by prior ability and gender   Source: DFE KS2-KS4 Transition Matrices
Figure 8: Difference between most likely GCSE grade for CS, Maths, English (2018-2019) and Eng/Ma grade by prior ability and gender
Source: DFE KS2-KS4 Transition Matrices

Figure 8 shows that whilst higher-prior-ability girls underperform less significantly than higher-prior-ability boys (relative to their English and Maths grades), the difference between higher-prior-ability and lower-prior-ability students is more significant for girls than it is for boys.

What does all this mean?

I’ve deliberately avoided trying to explain the reasons behind this data to avoid emphasising my own opinions instead of establishing the facts.

My conclusions are that the Computer Science GCSEs as they are currently assessed are not as accessible for lower-prior-attaining students as they are for more able students:

  • Students of all prior-ability can expect to achieve a lower grade in GCSE CS than they do in English / Maths (Fig 6).
  • Fewer lower-prior-ability students are being entered for GCSE CS than higher-prior-ability students (Fig 4).
  • The few lower-prior-ability students who are being entered under-perform relative to English and Maths more significantly than the majority of higher-prior-ability students (Fig 7).
  • These issues (above) are more pronounced in girls.

If schools only entered higher-prior-ability students for GCSE Computer Science they would currently see better results (in terms of pupil progress from KS2) than schools who allowed all students to take GCSE Computer Science. This cannot be allowed to continue if we want Computing to succeed as a subject which is accessible to all students.

What can we do?

As Computing teachers we need to ensure that we differentiate our lessons as effectively as we can. The vast majority of CPD for teachers has so far focused on subject knowledge. It’s encouraging that there’s now plans for a shift towards pedagogy CPD so teachers can learn how to support weaker students as well as stretching the most able.

As heads of department, parents and governors we can campaign for Computer Science to be offered to all students as a point of principal. If a student is willing to work hard they should be allowed the chance to study the subject regardless of how well they did at Primary school.

School leaders should make sure that relative performance between subjects nationally is taken into account when judging the ‘success’ of individual departments. Computing departments should be given time and support so that teachers can access bursary funded high quality CPD and learn from each other.

Exam boards and Ofqual should review the grade boundaries for Computer Science to ensure that the prior ability range of each cohort is taken into account and students can expect comparable outcomes in each subject. They should ensure future changes to assessment material contain a sufficient balance of questions aimed at grades 1-3 as well as higher grades.

The DfE and Ofsted should ensure that schools are given an incentive to increase the timetable allocation for Computing at KS3 and that future Computing KS4 qualifications are fully accessible to the whole 9-1 ability range.

Individual students should ignore all of the above. Students are individuals not statistics. National trends can be (and frequently are) proved wrong by hard working individuals. If you work hard in Computer Science you can achieve a higher grade than any of your other subjects. It’s a hard subject but that makes your ultimate Computer Science grade ‘worth’ even more than any other subject.

I don’t have all the answers here so I’m going to open it up to debate. I’d love to hear what your suggestions are in the comments below.