Our Old Ways of Teaching Coding at School Are At An End … Meet The New Way Forward!

In Scotland, the Higher subject for Computer Science showed the greatest fall in the numbers taking the exam for any subject, and it is…

Our Old Ways of Teaching Coding at School Are At An End … Meet The New Way Forward!

In Scotland, the Higher subject for Computer Science showed the greatest fall in the numbers of pupils taking the exam for any subject, and it is now the 19th most popular Higher at school. We are now reaching a point, that we must admit our 1980s methods of teaching coding are at an end! We are switching kids off coding by the droves, and we risk never being able to get them back.

Our world will become immersed in data, and the jobs of the future will involve coding/scripting for virtually every profession, and in the way that we currently use spreadsheets. But still we continue to only present coding in Computer Science classes, as if software has little impact on our world, and that it is still a niche topic.

So how do we create the next generation of tech creators rather than one of tech users? Unfortunately, we are not doing a good job at this, and while the world moves into software, there’s little trace of the next generation seeing software coding as a natural part of our work.

Why? Well, politicians think that we can purchase iPads for every child, and that will make them tech creators, but, in the end, these devices to little to enhance the learning of coding/scripting, and basically become Internet search tools. The only true way is to start to integrate coding and scripting into lessons, and make it relevant. Why shouldn’t a pupil integrate a quadratic formula to test their solutions in Python, or to display a sine way with a given time interval? It is basically equivalent to the calculator being used in lessons, and now Python has become the equivalent to the calculator in the 1980s.

Generally we have failed to attract pupils to code at school, and this relates to many issues, including a sometimes dull syllabus, the idea that it only is useful if you want to be a software developer, and the general lack of forward planning by schools/governments/councils.

Our major problem is thus to convince every child at school that software coding/scripting will be a natural part of their world, and in the same way that we use spreadsheets. In fact, spreadsheets seem so limited now, without access to libraries like numpy. Our world is changing, and software coding/scripting is not just for software developers any more.

And what an amazing impact we could make at school if every child ran Juypter Notebooks for the maths and science lessons, of a shared cloud system, and with full GitHub integration. We could create a whole of data scientists and cybersecurity professionals, and who would under how to apply methods into code. For some, this is the revolution that is waiting:

And so some academics moving this forward, such as:

Within this online resources, we see how lessons can be easily integrated in maths and science, and how it brings the subjects alive:

For us, we have integrated GitHub into our delivery, and in Semester 2, we are going to move to using Juypter Notebooks for the delivery of our cryptography classes. I see my PhD students using it, and it’s a great way to evolve methods, and show the testing in-between.

Academia is now adopting Juypter Notebooks and there are many examples of the integrate of syllabuses within many countries around the world, including within engineering [here]:

and in mapping hurricanes [here]:

Here is a professional notebook which teaches geo-physics:

Teachers could easily share code, workbooks and lessons over GitHub, and we could start to apply coding/scripting into many other areas, including within music lessons and the creative arts. The great thing, is that we can easily guide students through the first stages of a method or experiment with a ‘fill-in-the-blanks’ approach.

And it’s not just Python that the Notebooks support, pupils can integrate Java, Julia, R, and so many more languages. GitHub is taking over the world just now, and schools should integrate with it in order to share lessons, and allow parents/industry to get involved, too. Increasingly, too, there’s no need to run code on school networks on complex desktops, as Notebook can run the code off a server, and on virtually every device (and yes, an iPad, too).

And so our kids would learn coding and enhance their learning. In the Computer Science class they would still be using Juypter Notebooks, but could learn about machine learning in Python, or interfacing to electronic sensors, or even learning a bit about cryptography.

Conclusions

Our teaching of software is still stuck in the 1980s, and we have not moved on since. We often switch our kids off at an early age. So go and get our kids coding/script, and learning about the beauty of this word …

… to me, every child should code/script naturally … only then will we create a tech-ready nation that is fit for the 21st Century. Until then, coding will be seen as a niche subject for “techies”. We must all be techies in the future!