The Long-term Neglect of Computer Science at School in Scotland?

And so, as Barclay’s Bank invests in a new digital centre in Glasgow with thousands of jobs, the neglect of computer science at school in…

The Long-term Neglect of Computer Science at School in Scotland?

Ref: here

And so, as Barclay’s Bank invests in a new digital centre in Glasgow with thousands of jobs, the neglect of computer science at school in both Scotland and England/Wales cannot be avoided any longer.

The lack of proper investment in teaching staff and proper labs — along with a boring and unfocused syllabus — makes one wonders where we will find enough leaders in technology in the future.

Few universities who recruit in Computer Science, for example, actually rate it as a necessary entrance qualification. In fact, the number of students studying N5 Computer Science in 2017 actually fell by 6%, and where Modern Studies increased by 7%:

The increase between 2014 and 2015 was due to the handover to the N5 subjects. And it’s not much better at Higher level too, where Computer Science falls to No 14, and Music catches-up and overtakes it (and with only 21 more pupils taking it from 2016 to 2017):

The white heat of technology is certainly not on the agenda at schools, and pupils (and teachers) continue to drift away. While it’s great to see English and Maths doing well, one must worry about the future of a tech-driven economy when Physics falls by 5% at N5, and that Biology has a more than a 50% lead over Physics. The future of jobs will be in both health care and technology, so we need to encourage our kids to study in all areas of science and technology.

The great Computer Science switch-off

More than twice as many pupils, for example, took PE as a subject at Higher than Computer Science (and where we possibly see kids avoiding the more difficult subjects, and where Biology falls from 3rd at N5 to 10th place at Higher). While it’s great to see kids being active, an economy which produces more graduates at school in physical education than in science and technology, might be sending the wrong message to the jobs market, and where kids are picking subjects for their easiness, and not for a future career.

And so much for our society addressing the gender balance in tech-related areas, it’s already cast in stone at school with 81% male participants taking N5 Computer Studies, and where Drama has a 32% male attendance:

And the gender balance get even worse at Higher level with 85% of those taking Higher Computer Science are male, while even Design and Manufacture manages a respectful 70%/30% split:

In terms of the split of male:female, Computer Science is in 2nd place for the highest ratio of the split, and only beaten by Engineering Science (which has a ratio of 92%/8%). Physics, too, has a much higher percentage of male pupils taking the Higher subject:

A hot-potch?

The Computer Science subject at school has being neglected in the past, and still is. In Scotland the syllabus is boring and, in places, has little relevance to the modern jobs economy. There’s no Cloud (which is probably one of the largest recruitment areas), no proper networking (which again is a large recruiter from many angles), no IoT, no standards for coding, no proper cyber security, no AI, no machine learning, no data science, no blockchain/crypto, and it has ended up being a hotch-potch of subjects that have been stitched together.

Personally, I would rather kids learnt the basics of cryptography, and how it can protect privacy, than knowing the difference between a GIF file and a PNG file. Kids learn by doing things, so get them to do a bit of crypto with Python. But that’s its problem, it has no focus in what it is trying to do, and never really had one. It has always struggled to shake off its boring IT roots, and every year it sets itself back in not actually matching to developing long-term skills that industry would relate with. If it was just programming on a Raspberry PI using Python, it would be a massive step forward, but it’s ended up trying to fuse bits and pieces of software and systems, and doesn’t manage to do either of them properly.

We must realise that kids learn how to use technology before they can even walk or speak. You don’t need to teach them how to run email or a PowerPoint presentation anymore.

Anyone for haggis?

The implementation of coding standards has been a particular long-term problem, and where schools were able to go their own way and use whatever language they wanted. Then the actual coding in the exam was defined a pseudo language — Haggis — which is not used anywhere else in the world, and which has since lacked any form of proper support for tools. At times it felt like it wasn’t finished as a concept, but schools were left to find their own way with it. Tools were promised, and then little was delivered.

Few people outside schools in Scotland would even recognise Haggis as a pseudo code language. So rather than stick with a common language which might stimulate interest, such as Python, schools were left to define their own route, and use whichever software language they wanted. While the implementation of Haggis was noble in its scope, it has always been a recipe for a lack of proper coding standards, and where schools could go there own way.

A single programming language and environment would, at least, engage others, and help build up a common shared knowledge, and where those with an interest could help support development of coding skills. One must not dismiss the roles of parents in encouraging kids to code— and for them to get involved- as parents are likely to be the ones who are also interested in developing, or passing on, their own knowledge. Parents will often see in their own work place the importance of coding, so kids and their parents could sitting down together and setting up a bit of coding on a R-PI. Having a pseudo language that few people know about, just adds an additional barrier. Personally I’d get rid of exams for the subject at school, and retire the pseudo code, and then concentrate on skills development on new and evolving areas.

A modern day lab?

Another problem is that there is often little in the way of engaging labs — and which is the place that computer science really comes alive. Most schools, for example, still have boring labs which are just full of networked computers, and have little in the way of engaging environments, where students integrate the R-PI with Python, or access Cloud-based services.

So, these days, a bunch of computers connected to the school network is NOT a proper modern computer lab. A virtualised cloud infrastructure with networks, services and Linux, or a lab of R-PIs connected to sensors and outputs, is. Kids should learn in the Cloud on Linux systems with IP networks, or build and make things. The constraints of a school network was never really a place for kids to learn with computer science.

In the UK, there has seldom been, in recent memory, such a time of economic risk, and our kids deserve a stable future, and to have the skills that will allow them to face the challenges that this generation is putting in their way. We thus need to switch them on to the possibilities that technology can bring to their work, and stop switching them off with boring computer science classes. To create a nation of proper coders would be much better than a nation that knew the difference between a GIF and a PNG file.

In the 1970s, the growth of the electronics industry was covered by Physics, but the growth of coding is not covered by any of the traditional subjects, and it is left to Computer Science to get kids into coding. But it fails in Scotland, as it has no commonly standard, and it neither achieves at an academic level nor at a recognisable skills development level. An economy cannot thus be built on assuming that those kids who are interested, will go along to external coding classes. For one thing, is that this is not an inclusive model of education, and where only the kids with parental guidance, or certain communities, will have the advantages of getting into coding.

Solutions

Here are my little tips (I have produced content for N5, Higher and Advanced Higher [here], so understand a bit about the environment):

  • Don’t teach it as an IT class! The day of teaching kids on how to use a computer are past. This is a generation who can use computers before they can even walk.
  • Lock down on the main focus, and stick with it, and provide and share resources.
  • Get great teachers in-place, and train them on the best of technology. If we can’t get enough teachers, pay them more or get from around the world, and make it a KPI for schools to improve their standards and resources.
  • Don’t allow schools to drop or demote the subject. If they do, they should lose funding.
  • Get rid of labs full of networked computers, and invest in standard IoT kits/Raspberry PIs. The cost of a R-PI? Less than £20 each. Parents can then go and buy a R-PI for their kids, and help them set it up at home.
  • Support leadership in the area, and stop universities from defining the syllabus.
  • Forget academic excellence — subjects such as Maths and English do this much better — and concentrate on proper skills development for coding and getting kids to do things.
  • Get every child coding, and make it a standard part of the syllabus. 3R+C: Reading, writing, arithmetic and coding.
  • Give teachers funding and time to develop, and get them working together and sharing resources, and especially to work alongside industry experts in matching the syllabus to the requirements of industry. I am sure there are many companies in the UK who would allow some of their staff to work with schools on curriculum development.
  • Get into areas of data science, cloud systems, and cyber security, and showcase the relevance in building new communities, and creating evidence for key societal issues. Don’t get bogged down the theories and complex nature of the underlying technology, just get kids using it, and debating how it could be used in the future. Are cryptocurrencies a good idea or could they collapse and cause large-scale economic problems? Can we analyse Scotland using open source data, and find out where there are health problem? Can you trust the green padlock on your browser?
  • Get politicians to define a high-level KPIs and aims for the nation and resource them properly … eg “Every child will be able to code by the time they reach secondary school”, “Be able to analyse open source data related to poor levels health in Scotland”, “Be able to critically appraise the impact of blockchain on the creation of the next generation of the Web”.
  • Teach around grand visions of the future — as our kids will be responsible for implementing this — but keep it interesting and fun, and don’t get bogged down with detail (and trivial knowledge). Always support with hands-on experience.
  • Continually tell them that they are the architectures of our future — because they are — and, if they do things well, they can build a better world. Tell them how badly we have built our information infrastructure, and the problems we have caused, and tell them that they must fix our mistakes.

And others:

  • Showcase the career paths in the area. Did you know there are over 50 career routes in cyber security, alone?
  • No legacy … ban Microsoft Windows programming especially Visual Basic as it is an old way to develop programs … the future is the Web. Focus on Cloud services, scripting, IoT, Web integration, networking and Linux. Code should be provided in well-defined snippets, and kids build on these. The command line should come as natural to kids as using a mouse in a GUI. Linux is the future … we need to recognise this.
  • Don’t underpin with boring content. S1 and S2 levels (the first two years at secondary school in Scotland) seem to provide a dull introduction to Computer Science, and which means that kids will avoid when picking their main subjects in S3 and beyond.
  • Get kids into coding at primary school, and make it fun!
  • Stop designing the syllabus by committee, and show true leadership and vision.
  • Don’t teach for now, but for the future. Understand the subject areas which will age quickly and try and show how computer science will build the future, and get pupils understanding the key transformations, … cryptocurrency, Blockchain, machine learning, data science, etc.
  • Don’t get them to build pizza ordering databases! Databases are often boring, but understanding data is much more interesting. Get them to code for areas such as machine learning and cryptography, and switch them on to a data-driven world. Don’t go into the complex (and boring) details of the subjects, but get them to code and see the results. A few lines of Python code can do amazing things in the Cloud these days. The days of programs with thousands of lines of code are passing. Many things can now be done by RESTful calls to Cloud services.
  • Ban any boring applications of software coding.
  • Get them into networking and services.
  • Get them to program with Cloud resources. A few lines of code can build amazing applications.
  • Stop allowing schools to pick their own development environment. Python isn’t perfect, but it’s fun to use and used extensively in universities and industry. You can go home, and plug-in a R-PI into your TV, and the whole family can help with the homework.
  • Create a single development environment in the Cloud with all the required tools and data sets, and share across every school, and give EVERY pupil their own environment to use. Cost? Minimal.
  • Dump Haggis.
  • Dump exams. Do it now!
  • Stop teaching trivial, out-of-date and useless knowledge, and concentrate on proper skills development.
  • Get interesting open data sets, and get kids analysing, charting and presenting their findings on them.
  • Get them into simple machine learning, and show them the future.
  • Get support from local industry and individuals with a passion for technology.
  • Make labs interesting to all genders.
  • Find the rock stars in the industry, and profile their career paths.
  • Get involved in setting up inspirational Christmas lectures. We did it in Cyber Security, and it is great fun for both the presentations and the kids.
  • Get other subjects, especially maths and science, to integrate with coding, and make coding relevant.
  • Get industry to sponsor prizes in each school for the most inspirational work by teachers and pupils.
  • Properly define coding skills from primary school to secondary school, and get kids interesting in technology at the earliest possible age.
  • Promote innovation and new ideas, and reward them in whatever way possible.
  • Avoid mobile phones, as kids spend enough time using them. Get them using Raspberry PIs … which are quad core computers, and just need a SDCard to open up the world. Get them to flash LEDs and read from switches … it’s great fun, and they can do it at home, and show their parents. Linux skills should be a core part of their education, and Microsoft Windows should be avoided.
  • Teach them a bit about electronics, simple bit masking, and electronic gates, and learn a bit of Boolean logic, but get them to implement things at every point.
  • Get parents, aunts, uncles, grandads and grannies involved, and let them learn from their kids (or vice-versa). With a common platform, this is possible. Create world where Python feels as natural as using a pocket calculator.

So are we …

creating a nation of tech users, rather than a nation of tech creators, tech visionaries and tech innovators?

Conclusions

I have used the Scottish education system as an example for this article, but you can replace Scotland for England and Wales, and end up with the same conclusions … Computer Science in schools is an unfocused mess with a complete lack of proper investment in our most precious of all our assets. More than ever we need to give them the skills that they will need to build a new economy.

Here’s a few related articles:

Data Analysis: https://www.linkedin.com/pulse/data-analysis-gcse-2016-william-buchanan/

A boring subject?: https://www.linkedin.com/pulse/computer-science-school-crisis-point-dull-boring-lacking-buchanan/