Amongst the plethora of articles being written on the importance of teaching coding there’s an increasing tendency to try to reassure people that they can learn to code without doing maths. I’m afraid that just doesn’t add up.
The idea is that learning coding is just about learning a language; just like learning French or Japanese. I have some sympathy for that view, but only up to a point: Because there’s another language involved, a language that describes how the world works – and that’s maths. Learning to code certainly involves learning a syntax, learning nouns and verbs, just like learning a foreign language. But without a context in which to use your words it’s all fairly meaningless.
If you can’t translate the World around you into terms that can be worked with by a computer, you soon hit insurmountable walls in almost any coding endeavour. You want to move something around the screen – you need to understand coordinates. You want a ball to bounce – there’s maths again. You want to understand the probability of someone winning your game, there’s… well you get the idea. Maths is the language we use to describe the world in terms we can understand and manipulate.
Now I’m not saying you need to be a top mathematician to become a coder, but I am saying that you need a reasonable level of maths. It wasn’t long ago that would have been an unnecessary statement because everyone learnt maths in high school. But as maths is not compulsory in the HSC, and as declining numbers of people are taking it, you can’t assume that people have the basic maths required to navigate through life, let alone translate into coding. By saying maths is not necessary for coding, we’re doing everyone a disservice. Maths is necessary for coding; it’s the bedrock of all STEM education; and it’s also simply necessary to navigate the complex society in which we live.
The simplest and most cost-effective thing that the Government could do to improve STEM education, including coding, is to make maths a compulsory subject for the HSC.
In the meantime, those of us advocating for coding to be taught need to be careful not to remove maths from the equation in a vain effort to make coding seem easier. There’s no point in teaching coding if the student can’t do anything with what they have learnt – and to do anything meaningful they’re going to need some maths.