Computing GCSE: Are we getting the fundamentals right?

Computing GCSE: Are we getting the fundamentals right?

After a flurry of opinions about what should be included in the new Computing GCSE, there seems to have been a relative silence. Either that, or the algorithm isn’t working! Perhaps everyone has exhausted what they want to say and, if fortunate enough to live in the relevant locations and secure time off school, are now signing up for the in-person events to have their say.

One particular suggestion has left me questioning whether we’re quite asking the right questions.

For a long time, I have been an advocate of GCSE questions that test students’ understanding of fundamental programming concepts: programming constructs, functions, file handling and, importantly, their ability to apply this knowledge to solve problems. Questions that reward understanding and problem-solving rather than penalising students for minor syntactical errors.

As OCR began exploring online examinations, there was considerable enthusiasm for the idea that students should be able to run their code in examinations. The argument? This is what programmers do in the real world, so examinations should reflect this.

I think this argument deserves rather more scrutiny.

At GCSE, the real value lies in students demonstrating fundamental understanding and the ability to apply computational thinking to solve problems. Of course, students need to understand the importance of syntax and develop the ability to write syntactically correct code. But when it comes to assessing programming at GCSE, should we really be prioritising syntactical accuracy over students’ understanding of fundamental programming concepts and their ability to apply these to solve problems? Surely, it is the latter that should carry greater weight.

We need to be careful not to confuse the tools used by professional programmers with the knowledge and skills that a GCSE qualification should be assessing.

And what could make this point more relevant than the recent rise of vibe coding?

We are increasingly seeing AI write code on our behalf, often producing some pretty impressive results with remarkably little input from the person requesting it. Does this mean we need to understand programming any less? Quite the opposite. If anything, the ability to interrogate, evaluate and refine code becomes even more important. We need to understand what AI-generated code is doing, judge whether it is fit for purpose, identify problems and make improvements. Ultimately, we still need the ability to think critically and solve problems for ourselves, rather than simply rely on AI to do it for us.

Of course, this isn’t to suggest that students shouldn’t learn to use AI to generate code. Quite the opposite. There is undoubtedly a place for understanding how to use AI effectively as a programming tool. But we need to ensure that, alongside developing these skills, students retain the ability to understand, question and evaluate the solutions that AI produces. Otherwise, what exactly are we assessing?

Consider two students who produce exactly the same working program. One has written it independently and understands the logic and programming constructs involved. The other has used AI to generate the code but struggles to explain how it works or adapt it when the requirements change. Have they demonstrated the same level of understanding? And, more importantly, should they receive the same credit?

If students cannot understand the logic behind a solution, reason about how a program works or identify why something isn’t behaving as expected, how well equipped are they to work with AI-generated code? They risk becoming dependent on a tool they cannot properly evaluate.

None of this is an argument against students writing and running code. These are important parts of learning Computing. Nor am I suggesting that online examinations have no place. They could offer valuable opportunities to investigate problems, test hypotheses and explore solutions. But we should distinguish between the activities we want students to experience in the classroom and the knowledge and understanding we want them to demonstrate in an examination.

Let’s take a moment to consider whether we are getting the fundamentals right.

Are we still assessing students’ understanding of fundamental programming concepts and their ability to apply computational thinking to solve problems? Or are we becoming distracted by the tools and technologies through which those skills are exercised?

Perhaps the most important question for the new Computing GCSE(s) isn’t what students should be able to do with the latest technology, but whether they have the understanding and skills to make effective use of it, rather than simply rely on it.

Comments are closed.