Is the schools' coding curriculum any good? The answer to this question depends on which curriculum we're talking about. Last week's blog post talked about coding and the key stages in the National Curriculum. We looked in detail at what the minimum requirements are for what children ought to learn at school. The short answer is "not much".
Let's unpack this a bit. The Computing National Curriculum document is a very brief document that sets out some of the general aims that need to be achieved. And coding is only one part of what's covered in the National Curriculum.
The requirements set out in the curriculum are very general and therefore leave a lot of the detail down to each school to decide. As a consequence, the way coding is covered varies extensively from school to school. Meeting the minimum requirements set out in the National Curriculum is insufficient to give kids an excellent coding education. Luckily many schools are trying hard to go beyond what the curriculum sets out.
What makes coding an incredibly tricky subject to teach is its technical nature. Let me expand on this. Unlike most other subjects, a theoretical knowledge of coding concepts is not sufficient to teach the subject in a manner that is both thorough and engaging. As a result, too often, coding can be taught either in a simplified way or using children-specific platforms that make teaching "coding" easier but takes the subject away from what real coding looks and feels like.
So what should a coding curriculum look like? There are several detailed coding curricula available. Over the past decade, we have developed one ourselves at codetoday, which we use to teach all our courses and share with schools. Here's the overview of our beginners and intermediate stages in the codetoday coding curriculum. This type of curriculum is very different from the National Curriculum because it is significantly more detailed and tackles all the main areas in coding.
So, why can't every school adopt such a thorough curriculum and focus on using real-world coding languages such as Python rather than children-specific platforms? Unfortunately, we return to the discussion about the difficulty with teaching coding in a thorough yet engaging manner. Schools very rarely have proficient programmers within their teaching staff. "Being good with computers" is not sufficient to teach coding. Nor is having done a bit of coding as a teenager. But unfortunately, there is no easy solution to this problem. Coding is a complex subject to teach.
A particular challenge when teaching coding is to make sure it's taught using modern best practices. This sounds simple enough, but unfortunately, it isn't as simple as that. As with everything else, there is the good, the bad and the ugly when it comes to coding resources available on the internet. And with coding, in particular, there is more of the bad and the ugly than good stuff. Therefore, it's difficult for a teacher who is looking for ideas on what to teach students to identify between what's good to teach and what's not.
This past year has offered one solution. Remote teaching is now possible. Everyone has tried it and made it work. And although we're all pleased that our kids have returned to their schools, the barriers for running some sessions remotely have now gone. Coding is an ideal test case for this. Specialised coding teachers can serve many schools through remote teaching. And if there's one subject that's especially suited for remote learning, it's coding as students already need to be on a computer and to look at a computer screen for this subject!
We're looking forward to helping more schools in the UK and globally as we share our expertise and curriculum with them!