Should programming in schools be seen more like Maths or English rather than a visit to the Science

coding and programming for children

First things first: I love Science Museums. I was a postrgrad student for three years next door to the London one and visited often, and now I visit often with my own children. Good, that’s sorted then.

What would you think if your children’s school replaced all science teaching with visits to Science Museums? As much as I’m sure most of us are fans of school visits to Science Museums as a means of engaging children in science, we know that these visits are not enough and more structured and rigorous teaching in school is still necessary, just as we do with other key subjects such as Maths and English.

What has this got to do with coding? My children’s school haven’t been visiting computer museums, I hear you say. True, but how much of the coding work done at school is about doing fun stuff to engage the children and how much of it is more structured and detailed learning. The answer to this varies significantly from school to school, clearly, but often the bias is strongly towards engagement-type activities. Of course we want to engage our children in computer programming (or any other subject, for that matter) so there’s certainly nothing wrong with that. But are we actually teaching our children how to write computer programs and, more importantly, how to write them well? Are we getting too distracted with moving robots and flashing lights on circuit boards at the expense of computational thinking and code planning?

Before writing more, a disclosure: I visit schools to deliver workshops to introduce text-based programming - no Raspberry Pis or micro:bits or robots, just a keyboard, screen and Python. These gadgets are great for engagement and I’m a big fan of them, but I feel that the teaching of programming should also focus on bare bones programming (which represents the vast majority of real world applications of programming.) And guess what: students are still very engaged writing programs in this fashion. They actually realise even more the possibilities that are available when you learn to program.

I have recently had the opportunity to see some GCSE coding projects. Some were brilliant, showing that some schools are doing a brilliant job at preparing children, but I was equally shocked to see the myriad of bad practices. “The code works” should not be good enough. Writing 500 lines of code is easy, even if written badly, but writing 5,000 or 50,000 is impossible without a good grasp of the basics. I have seen abuse of global variables, functions with no input parameters or return variables that recursively keep calling themselves and other functions, and the list goes on. Not to mention the school that is introducing 8 year olds to text-based programming using C++, a language that should never be used for beginners of any age these days.

The teaching of coding in schools is fairly new and therefore it is only normal that things are still evolving. We need to be careful though that we don’t assume that all is fine now that we are teaching programming to our children - there’s still a bit to go before programming is treated in a similar fashion to key subjects such as Maths and English.

This blog post was originally published at:

#coding #programming #schools