Towards … Coding For All

For us, we need researchers who can code. The industry increasingly needs people who can code and script, so sometime soon we will have to…

Photo by Kevin Ku on Unsplash

Towards … Coding For All

For us, we need researchers who can code. The industry increasingly needs people who can code and script, so sometime soon we will have to create a workforce that does not run away from coding and sees it as natural as using a spread. Excel has been our friend for decades, but it is becoming cumbersome in a world of open-source dataset and machine learning. It is a package that has hardly changed over the years, and still basically remains the same as it did all those years ago.

So how are we going to do this? Setup kids at school with Linux virtual desktops and get then to use vi to edit their code? No. It’s much easier than this. Let’s them use Jupyter Notebooks for their key lessons, and they will start to code naturally. A few lessons on Python as a start, and then integrate it with Maths, Physical, Biology, and anywhere else there is the need to solve things, draw graphs, and, in fact, anything that has tutorial/lab work.

We are all too hung up on teaching software developers the syntax of languages, and forget that coding is for everyone now. For most, it’s a few lines of Python to do the things that they used to do in Excel. It might be to download the latest COVID-19 data and then to chart its progress, or a monitor the statistics on the Web site.

For some reason, we are keeping coding hidden in a lab someone, and forgetting that Python is the new pocket calculator. Our students often use Python to do calculations, in the same way, that the calculator would have been done in the past.

And so this week we saw a massive step forward with Microsoft adding Jupyter Notebooks functionality to Visual Studio Code (VS Code) code editor. While many focused on Python, these notebooks can support other languages such as R and Julia. The sharing possibilities are almost endless.

and then it becomes easy to create new notebooks:

Juypter Notebooks

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:

https://jupyter4edu.github.io/jupyter-edu-book/

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 use 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]:

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 to code 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!