Computer Science in Scottish Schools

Computer Science in Scottish Schools

Imagine the fuss you would make if your local school turned round to you and said that they couldn't teach Maths or English, as they couldn't recruit enough teachers in the area. "Anyway", they say, "the kids didn't like those subjects, and we can give them something that is much easier, and they'll get A grades across the board. Is that okay? We can get lots of teachers that can teach ..., so your child will do well as will have lots of teachers around to give them support."

Your face would turn red ... your blood would boil ... and you'd tell them to fix it. After which you'd tell them that they should do anything they could, as you don't want to disadvantage your child. You'd be straight on the line to your local politician and tell them that you pay your taxes, and you want them to fix it ... Now!

But that's happening now with coding at school, with schools dumping it because of poor demand and a lack of teachers. It seems it is on a downward spiral!

Call it Industry 4.0 or the Information Age, but we are now entering a new era where data and coding skills will be at the core of our economic developments. The jobs of the future will be built less around physical system, and much more on cyber-physical. Companies will migrate to places in the world where they can gain access to highly skilled workers, and who can capture, process, analyse and present data.

Building a new economy

The future of our economy will thus depend increasing on those who can code and drive software and data to solve complex problems. The salad days of Microsoft Excel are quickly fading as it becomes archaic and clunky compared with Python/R methods.

Open datasets now open an infinite number of opportunities, and increasingly businesses need data-driven solutions to provide near real-time data ... and we still teach our kids the difference between a worm and a virus. In possible, we should teach them to write Python code to analyse how many smokers they have in their area, and the factors which contribute to ill-health, and get them to go into the community and try and make inventions based on evidence ... that's creating a more fair society and more confident individuals, than knowing the difference between a worm and a virus.

The amazing objectives of CfE (Curriculum for Excellence) were defined in producing more confident individuals, who can directly contribute to make a fairer society, and we should thus design curriculum which allows them to build their contribution on evidence. Within a few lines of Python our kids can find our the challenges that our area/region/World faces, and to build up their opinions based on evidence. We are creating our next generation, and they should not be tainted by the modern political system, which sees evidence and experts as alien and disruptive. Our kids should care about their own environment, for others, and use evidence to address these problems. And it is Python and pandas which opens up that world.

To show the transformation, we pitched a health and social master class on data analytics last week,  with the amazing Data Lab Scotland, and it was sold out with 30 minutes and has a long waiting list:

With a Raspberry PI, Linux and Python, you not only understand the world, but you can go out and change it!

So we need to do every thing possible to encourage our kids to code, and create things with software. The days of coding being just for software developers are gone, and coding skills will become a core part of many roles:

But are we supporting our schools enough in this?

Our teachers do an amazing job, and one of my greatest privileges is to be given the chance to pitch some viewpoints to them at conferences - after all, I'm a teacher too, and we depend on them to produce the students who are ready for FE and HE.

Forget Bloom ... it's so over-rated ... we need more pycho-metric and less computer science

We should thus support teachers in everything that they do in stimulating the academic abilities for our kids. The world too is not just build on Bloom's taxonomy, where increasingly it it more focused on how you can affect your surrounds rather than on your critical appraisal of different methods. But in Computer Science in Scotland we have designed a subject which is crashing due to many foreseeable reasons, and where its design seems doomed to fail even from the start. With attainment figures now coming through for grades and for the number of children taking the subject, it is possibly switching more kids off than it is switching on.

So what's it like on the ground?

We have been saying for a while that we have missed a great opportunity in Scotland to get into Computer Science, and that the curriculum is unfocused and lacks any real measurable skills in software development. What academia and industry want are kids ready and eager to code, and to build things. What we have been left with is a subject which tries to cover every single related topic in computer science, and where nothing has been left out.

An important task in the N5/Higher Computer Science subject in Scotland was to refresh and provide some life back into the subject into the aging Computing module, but with a 25% reduction of Computer Science teachers in Scotland over the past five years, and a subject which is 16th in terms of both Advanced Higher and Higher, it is teetering on the edge. The syllabus overall looks like a car crash, with a whole jumble of subjects which are never properly developed, and which are often superficial in their scope.

Standardising resources and defining standards

The subject had a car crash written all over it when it was designed to support any programming language and environment, and this was always going to fail, as no standards could ever be defined. So one school could pick Machine Code and next Python, and one school could pick a Raspberry PI and Linux to develop on, while other could use Visual Studio running C#.

How this was approved by anyone is beyond me? The great success of Computing in the 1980s was the BBC computer, where every school had the same environment, so they could share resources, and industry knew the standards applied. The idea in the Computer Science subject was to pull it all back with a new pseudo code language - Haggis - but where resources have been completely lacking. Even after two years of implementation of the new syllabus there is just a threadbare number of resources, and which few stakeholders know of Haggis outside the school environment.

For less than $15 ... you can get a R-PI that can perform everything that a BBC could ever dream of achieving. It has a proper operating system - Linux - and within a few minutes you can be solving data science problems with pandas, and flashing lights to simulate traffic lights in a road junction. In fact, put a VNC server on it, and you don't even need any physical cables to connect to it .. you'll see it right on any desktop you want. Surely putting the power of the R-PI in the hands of every child is an investment that will pay-off many times more?

But, I hear you say, what does a University Professor know about school subjects? Well we have seen virtually every subject in the revised curriculum within the Bright Red Digital Zone:

Analysis

I don't want to depress you, but here is a small analysis:

How do bring it back to life?

I get invited to quite a few Computing At School conferences, and I can see that Computing teachers are generally highly motivated, but they may have been dealt a bad hand! Unfortunately, too, they have been told to design a curriculum with an infinite number of options, and get told to get on with it. They too have been left without a great deal of support from academia or industry. I appreciate that there's lots of great initiatives going on, but it needs scale, and for every school to have the same environment, and same opportunities. To allow any school to drop coding is a disgrace in this modern world!

Imagine if a school stopped teaching Maths or English, just because they couldn't recruit enough teachers in the subject, or that the pupils didn't like it? As a parent, and a tax payer, would you put up with that? But coding is being quietly pushed to the back of the queue for resources, and parked in the corner. Where are our natural coders going to come from?

As the job market moves to being white-hot in places (especially Cyber Security, Data Science, Cloud Engineering, and Software Development), schools are dumping computer science, and it has little appeal for kids in their choices (16th is often a poor finish in any race!).

A ramp-up on coding skills, on Python, for example, will turn many heads, and see Computer Science as one of the best subjects to study, along with Maths and English. Just now, no-one really knows what they are keeping from someone who does well in Computer Science at school.

I see so many people who are outside the normal Computing/IT role getting into Python, as they see it as being useful for their role, and in their future career path. These people are not computer scientists, they are in management, administration, finance, and so on, but Python interests them. There's no heavy IDE or you don't have to invest in lots of memory ... it'll run happily on your fridge if you want!

The difficulty in recruiting enough new teachers perhaps shows that there are lots of jobs around for those with the skills they have ... Catch-22!

At a cross-road...

Computer Science at schools in Scotland is at a cross-roads. It has too possible routes ...

The first is to make it into a real Science, and toughen up on the formal things and the maths. It will then get some credibility with FE/HE, but this would mean a complete overhaul of the syllabus. This will take many years to implement, and is a risky path to take. The current syllabus is stuck with a superficial knowledge focus, which dates quickly, and there's little that kids can say that they have ended up with  that could be useful in the current work place ... its a patchwork/hybrid fusion of lots of different subjects, none of which are ever properly covered.

The alternative is a rebirth and one which truly focuses on the development of core pycho-motor skills, and where it defines itself as important as Maths and English. There would be no opt-out, and the associated pycho-motor skills, as coding will be seen as important as reading, writing and arithmetic. For me, I turn to Python now when I want to perform a maths calculation, as it has everything I need.

Possible solutions ...

As a humble Prof who knows the output of our graduates and the required skills at the end point of graduation ... here are a few possible things that could be implemented ...

  • Attract new teachers ... get them from industry ... pay them more ... it will be one of the best investments in our economy.
  • Forget about the "Science" part ... and concentrate on creating a generic coding skill.
  • Get rid of the silly coverage of the subject ... and concentrate on what is really wanted ... the ability to code and solve problems.
  • Standardise on ONE coding language. I saw today that some people are still pitching three or four different languages. Pick one ... let it be Python ... and let them learn that. Python can help in Maths and Physics too.
  • Standardise on ONE platform language. Let it be something cheap and inexpensive, and something that parents can go and buy too (and learn).
  • Dump the pseudo code! We live in a world of rapid prototypes ... get the kids to build fun things, and who really cares, at this stage, if it fits with a nice algorithm ... leave that to Maths and Physics.
  • Get some serious investment in a standard environment ... such as R-PI .. and stick with it!
  • Make it fun and interesting and relevant, and forget about kids understanding the difference between a bit mapped image and a vector one (they will learn that later)!
  • Showcase the number of jobs there are in the market ... and there's a job for everyone ... from consultancy and business to real techie jobs ... each, though, need to understand (and implement) coding.
  • Stop trying to make it so academic ... psycho-motor skills are just as prized as academic skills in the current job market ... we need more "do-ers" in companies.
  • Increase integration of Python into Maths and Python, and show the relevance.
  • Investigate app development as a way to stimulate interest. Wouldn't it be great to rush home, and tell your patents ... "Look I've developed a cool new app to ...".
  • Teach Linux ... and command line skills ... and things like Control-C. You might think it is crazy ... but we sometime hear students say "How do I stop my program?" ... if they don't learn Control-C at school, they have missed a fundamental part of Computing education.
  • Focus on command line tools, learn Linux, and forget Microsoft Windows and GUIs.
  • Make coding a generic skill at Scotland, and don't allow anyone to drop it! If we are to create a new workforce, the ability to code will be one of the most generic skills that builds our future economy.
  • Make coding relevant for all subjects ... the days of the spreadsheet are going ... start to integrate coding into business classes (and even languages and music!).
  • 10 PRINT "Dump the exams!" ... 20 Goto 10
  • Forget about it being a science subject, and get on with doing great things which are just as important as the other core subjects.
  • Don't write the syllabus for now ... it's already out-of-date! Look to data analysis for inspiration, and get them doing useful things with data and code. Let them learn about inequality and issues in society through Python. Make it relevant to their world, and give them the tools to make a difference ... evidence.
  • Create super teachers - like Charley Love - who are evangelists ... and get kids to fall in love with coding. I remember going to the electronics club at College, and we built Sinclair radio ... and it was such fun ... 

要查看或添加评论,请登录

社区洞察

其他会员也浏览了