Firstly as someone that runs a Code Club and a STEM ambassador I admit that I am a little biased, although I’ve hopefully provided some good reasoning to back up my comments.
It seams to me that no matter what you do to try and improve something, there is always someone that puts together some argument that it is going to have the opposite affect. It wasn’t a huge surprise when I saw the headline Coding courses are no panacea for IT skills shortage – although from the url it appears they are actually claiming it will “Impact jobs for UK software developers and programmers”. In the article are claims that teaching coding skills “could backfire” or will put “professional programmers out of work and drive down their pay”.
I was surprised by some of the claims that appear to complete missing the whole point of education, let alone the thinking behind coding clubs and STEM clubs in general.
The reason that I became a STEM ambassador was to try and encourage others into engineering and computing careers. These subjects are some of the ones that are under subscribed at universities, but which are critical to a successful economy in an increasingly technical world. The IT industry is one that the UK used to excel in thanks in part of the popularity of home computers in the 1980s, but which we are being left behind now that so few children learn computer science during school.
Now to examine some of the points raised in the article:
Most teachers are not competent to teach programming
This is one of the points that I think may have some real merit. Most of the secondary school IT teachers I have met have been very clued up on programming or at least are taking active steps to learn more, but then that’s probably because they are the sort of teachers that go along to the events I have been to. I am sure that there are some IT teachers who do not know or want to learn about programming. This is something that needs to be addressed rather than using it as an excuse to avoid teaching programming.
In primary schools then teachers are less likely to have any real experience with programming, or even a good understanding of computers. That doesn’t mean that it’s not something that they can learn however. My own experience with teaching Code Club makes me think that if these young children can learn programming so easily then why not teachers.
Of course these teachers will have lots of other things they need to learn to keep up with the latest curriculum, and I certainly have a greater respect for teachers having done some teaching myself.
This is one area where the volunteer programming clubs (such as Code Club) have been able to make use of volunteers in the IT industry to help to teach programming.
The languages that pupils learn now will be obsolete by the time they leave school
Whilst I accept some of today’s programming languages may become obsolete, this statement appears to miss the whole point of education. Teaching programming is not about giving instructions on which button to click, but more about learning the fundamentals of programming and about the logical thought process (computational thinking).
It’s a fact about most careers that to be successful you need to keep on learning to keep up to date with new skills, techniques and tools. This applies to doctors needing to keep up to date with new medicines, lawyers needing to keep up to date with changes in the law, checkout operators needing to learn how to operate the new scan and shop tills, teachers to keep up with the new curriculum and of course programmers needing to learn new languages and techniques. This will happen in schools where pupils can learn new languages as they go through different years.
Putting professional programmers out of work and driving down their pay
I don’t think anyone is really expecting these children to suddenly start programming and pushing people out of a job any more than passing a GCSC in chemistry puts a professional scientist out of a job. Programming is a professional job and to become a good programmer involves spending a lot of time studying programming languages and methodology.
We need high quality well educated programmers so that we can compete in the worldwide economy based on quality of programmer rather than being the cheapest.
Not everyone is going to want to become a professional programmer, but by introducing all children to programming at a young age they have an opportunity to get interested in programming and to see if it is an appropriate career choice for them. Those that do will find that being exposed to it at a young age provides them with an advantage later in the same way that children learning to program home computers in the 1980s helped to fuel the desire to learn programming amongst the current generation of programmers.
Even those that don’t go on to a career in computing will learn valuable knowledge about how computers work (something that is mostly hidden from users until the computers go wrong) and learn other skills that can be applied to other subjects (eg. by seeing a real world application for maths skills).
Good quality code can be produced by apps with little or no coding experience at all
The state of some websites on the Internet already proves that someone with little experience can now create a poor quality website using a easy to use tool. It’s even possible to create a good website using a pre-built template and a CMS but that’s not the same as creating a quality professional website which is going to need some of the raw html files to be changed and even further from creating a good quality program.
I remember when I was first at university there was a thinking that the 4th generation programming languages may make programming so easy that anyone could do it. It turned out that still isn’t the case and that many of the 4th generation programming languages failed to gain much support beyond creating proof on concepts or as tools to create data structures to use in conjunction with normal programming (eg. using a 4GL tool to create a database scheme which is accessed using a more traditional programming language).
What is required?
Fortunately the second page of the article is better acknowledging the role that teaching everyone a basic level of programming could help to raise the standard of programming in the UK.
I think this article does still raise a good point in the need for teachers that can teach programming well. This is something that cannot be fixed overnight and makes me think that perhaps the changes to the national curriculum for next summer is a little too aggressive, particularly for the primary schools. There are however some good teachers around and for those there are resources (free or otherwise) that can help them to learn programming and to be able to teach it to young people. There is also a pool of talent working in the IT industry that could be a great asset if the government, schools and industry can find a way of putting that good use. Some of these are already running volunteer programming clubs, but I’m sure there could be many more.
For a Daily Politics view of teaching programming see: Clive Beale from the Raspberry Pi foundation on BBC Daily Politics