In this article…
Introduction
This week is National Coding Week for 2022. I have a few questions about it, which are the same as the ones I asked last year. But first, a couple of things to note:
Parts of the website haven’t been updated, with links pointing to items that were published last year. The links to stuff a couple of schools are doing are from 2020. One of the links is a dud link to a digital skills challenge. I don’t think this is a great advert.
In one section of the website there is a statement to the effect that as the person who started this is retiring, this may be the last national coding week. Well, no initiative should be dependent on the involvement of a single individual in my opinion.
I’ve never liked the idea of a coding week, partly because I think the emphasis should be on programming, and partly because I disagree with the implication (and sometimes explicitly stated expectation) that everybody should learn to “code”. Still, being the magnanimous bloke I am, I’ve publicised the website (see above) in case you might find something useful or inspiring there. If so, knock yourself out. Anyway, what follows are my objections, for what they’re worth.
Who is it aimed at?
It seems to be for both adults and kids. If adults are part of the target audience, why would we want them to learn to “code”? It reminds me of a training session I was asked to run by a school, the aim being to teach people how to edit HTML. There was a handful of teachers, but in addition there was the school caretaker, kitchen staff and assorted others — none of whom had the slightest interest in editing HTML. They’d been dragooned into attending because someone in the school thought it was important to gain this so-called 21st century skill.
If it’s aimed at kids too, which it seems to be, what do the organisers think schools have been doing in the last few decades?
Why coding? Why not typing?
I can see there might be some sense in promoting the learning of computer programming to the general public (This is my attempt at being generous), but coding? That’s just one part of programming, and arguably the most boring part. If you want to teach a useful skill, I suggest touch typing, because you can use it for anything — including “coding”.
What’s the problem?
In the main section of the website, the activity is to make a thirty second video. My questions here are:
What’s the transferable skill, and is it to do with programming or maths?
What do the organisers think schools have been doing? I worked with primary schools thirty years ago who were doing this, and schools are still doing it now. It doesn’t seem to me to be the original and exciting activity that one would hope to see on a special “National Coding Week” website.
I’ve always been of the strong opinion that (a) people should talk about programming, not coding, and (b) people learn best on a kind of need to know basis. By that I mean, teach a few concepts, see how they work in a small program, and then use that knowledge and experience to solve particular problems.
An example of the programming process in practice
For example, when I decided to create a staff rota system for running a computing surgery, I didn’t just start “coding”. I went through several stages:
What do I want the rota system to be able to do?
Is there an affordable off-the-shelf system that I could install on our network?
As the answer to #2 was “No”, should I create my own using a programming language, or use Access or Excel?
Having decided Excel would be more appropriate, I asked myself: what can I achieve through functions and formulae, and where would it be best to use code?
I then set to work creating a semi-automated rota system that used a combination of Excel’s built-in functions and my own custom code.
Concluding remarks
I’m sure the people who are behind National Coding Week mean well. However, the website gives me the impression of having been cobbled together by people who have no idea of the great work going on in schools, and with no clear idea of who they are targetting or what they hope to achieve.