Earlier this week, Michael Gove announced that the ICT curriculum in schools will undergo a revolution, with a new emphasis on programming. Some announcements from the Education Secretary have prompted anguished discussion within out party (what other kind do we have?!) but this is a move by him that we should welcome warmly.
For one of the most exciting, creative, and essential parts of our curriculum, the way we deal with IT in schools is outrageously tedious and uninspiring. Gove hit the nail on the head when he spoke of pupils “bored out of their minds being taught how to use Word and Excel by bored teachers”.
I wrote on my own blog that I myself have suffered such lessons, and they are indeed interminably dull.
The education secretary now wants ICT in schools to be much more computer science based, with courses influenced by business and universities. I imagine it is this bit that may be the cause of some concern from Lib Dem members. As liberals we are proud advocates of education for its own sake, not as part of the corporate sausage factory. However, in the case of technology, it is often business that is at the forefront of innovation and skills development, and it would be a travesty for school pupils to not benefit from this. Equally, at a time when youth unemployment is at vertigo inducing heights, why would we not want children to be as well equipped as possible for the difficult world of work?
This then seems to be an entirely noble cause, but teacher recruitment will be key if it is going to become a reality. The truth is that today most children can use a computer and basic word processing software by the time they go to school, and increasingly have better IT skills than the those who are supposed to be teaching them. What is more, those with advanced programming skills are unlikely to be currently working within a school. Gove’s words will have to be met with action on recruitment, or they will be meaningless.
It doesn’t get mentioned as much as it should, but the UK actually has one of the most successful computer games industries in the world, and you don’t have to be based in London to be part of it. Unless the right teachers are imparting the right knowledge, such industries are not going to be able to grow, and we will have even less success than we already do in other technology fields, particularly compared to the US. Silicon Roundabout is all well and good, but school age children need to believe that they can be the next Mark Zuckerburg or Jack Dorsey, and begin to learn the relevant skills at a young age.
Liberals instinctively want to give everyone a strong and equal chance of success. What better way to do this in the digital age than making sure all pupils, whatever postcode they go to school in, have access to the highest quality IT and computer science education.
Charlotte Henry blogs at http://www.digitalpolitico.net. You can follow her on Twitter at @charlotteahenry
10 Comments
Absolutely right. Teacher skills will be a real issue though. I did actually have the benefit of a small amount of this sort of thing at school (though not very much) and it was vastly more interesting than the intensely dull lessons on how to make a PowerPoint presentation.
It is a fact that school children increasingly have very good computer skills. While it is important to ensure that those few who do not (perhaps because their parents cannot afford a computer) get support, I actually believe that teaching people how to use most software packages is a bit silly. Someone who has learned by rote how to use Microsoft Word 2003 is likely to be totally lost with later editions because of the substantial redesign work, whereas someone who has a more conceptual understanding will be able to learn quickly to use either – or, for that matter, to use rival software.
I say this as an addition to Michael Gove’s stated ambitions for this change, which I fully endorse.
Getting universities and businesses involved is going to be absolutely vital, though. If existing teachers cannot cope with this, support is going to have to be drafted in from outside. It needn’t be in the form of new teachers: when I was at school I was involved with running an after-school programming club, because even a fairly casual interest in it had given me good enough skills to be able to help out others to some extent. Most students of Computer Science could do it pretty thoroughly, and actually so could many students of Mathematics (like myself), Physics, and similar disciplines. Even paid at the minimum wage recruitment would probably be reasonably easy, and the hours could probably fit nicely with courses.
It gets a little more difficult in areas which lack local universities with substantial numbers of students on such courses, naturally.
I am glad to see the back of ICT, but as usual, Gove has got it wrong on what to replace it with.
He seems to think that by not specifying any curriculum you’ll get Computer Science. Maybe, for the 1,000 teachers in the country who the news reports tell us are ready for the switch. But what about the rest?
I am worried that “companies like Google and Microsoft” (in particular the latter) will be allowed to send in their recruitment teams to wean students onto their prefab languages like Java and C#, teaching them how to stick library functions next to each other without ever thinking about a problem. Worse, they could just be shown how to write Macros for Excel in Visual Basic (a fate I would not inflict on my worst enemy!)
Education is a complicated business, and I don’t pretend to know all about it. I do know, though, that teaching people to be code monkeys doesn’t require any Computer Science – we need to set broad, flexible standards for education in this and other sciences, not leave schools stranded in open water, waiting for the corporate sponsored lifeboats to come along and teach whatever they like (which may be a complete misrepresentation of the truth.)
The purpose of this change was to stimulate creativity – if someone’s first experience of programming is using C# to manipulate a database it will have the opposite effect. I’d much rather see students sat down with a Raspberry Pi device (that they can take home to play with), and shown how to write simple interactive games with Python and Pygame – that will stimulate some creativity.
I agree with the spirit of this, but we have to be careful about the detail, as ever.
Certainly it seems that computer ICT teaches children how to perform simple tasks with the current generation of Microsoft Office software, in a “monkey see, monkey do” style. It doesn’t even seem to teach them the basic principles of what, say, a word processor does, or how to look for the right menu option to achieve your desired goal. This means that by the time they go into the world of work, either they’re using alternative software like LibreOffice, or the next generation of Microsoft products has changed the user interface and rendered their rote learning useless.
We need an ICT curriculum which teaches children what computers are capable of, and how they can control computers to achieve goals. Teaching human-readable programming languages like BASIC or Perl (I remember the Logo Turtle from my schooldays) should be a must. Using open standards and free software to give children the freedom to explore on their home computers without worrying about licensing fees is important (I have great hopes for the Raspberry Pi).
However, I’d like to see an ICT curriculum which also teaches people how to use the Internet to research, including critical evaluation skills. If our schoolkids can find two contrary opinions on two different websites, and work out which is right and which is wrong, then we’ll have a more informed society. I’d argue that us adults need the same training, but it’s probably too late for us 😉
(The problem goes beyond primary and secondary education, however, with reports that 99% of computing graduates can’t write a simple program. University computer courses are now focused on high-level programming assembling other people’s work in new combinations. However, that’s another discussion for another time.)
It may be helpful to read what Edsger Dijkstra (what, you (I mean the general reader, not anyone in particular) don’t know who he is … that says everything about our society is so ignorant about Computer Science, despite how much we rely on it) had to say of teaching programming – the most notorious bit is what he said about the use of BASIC:
http://www.cs.virginia.edu/~cs655/readings/ewd498.html
Now, Dikstra was writing this in 1975, yet much of it applies just as much today, and most politicians who blather on about education in “IT” seem to have no idea about these sort of things.
For something a little more modern (but still written 10 years ago, and still absolutely relevant today), try Peter Norvig:
http://norvig.com/21-days.html
I have written much about this elsewhere, I am glad the message os getting across – school “ICT” is useless. Well, maybe it’s not, but if anyone finds it useful, please let me know, I’ve never heard anyone say anything good about it.
I am a university lecturer in Computer Science, I specialise in teaching programing, I have been doing this for 20 years. For 10 of those years I was also my department’s admissions tutor. School “ICT” was a real curse, because we’d get hundreds of applications from sixth formers who believed, and from their references, so did their teachers, that what we were about was more of what they had done in school “ICT”. Even worse, some of them had actually been ENCOURAGED to take this subject, on the assumption it would help them. Worse than that, some of them had been encouraged to DROP subjects which were much more useful for us in order to take “ICT”.
Put it this way – given a choice between an applicant who had a grade C in A-level Maths and an applicant who had a grade A in A-level ICT but no A-level Maths, without hesitation I took the former. This was from experience, carefully correlating entrance qualification with performance on the degree. Students we took with top grades in A-level ICT often had no discernable skills in any aspects of our degree.
Nice to see some movement here. Currently, every single person who develops any real understanding of what computers can do or how to manipulate them – and I don’t distinguish programmers from managers or procurement bureaucrats here – has done so on their own with no real instruction from the state school system. This is a travesty that must be corrected.
Dave Page (misquoting Jeff Attwood who was quoting Reginald Braithwaite)
99% of computing graduates can’t write a simple program.
No, the words actually used were “199 out of 200 applicants for every programming job can’t write code at all”. It didn’t say the applicants were all Computer Science graduates. More importantly, as was pointed out in later discussion, even if they were they would not be a representative sample of Computer Science graduates. Someone who was a good programmer wouldn’t be applying for many jobs – they’d be snapped up early on, and quite likely move on through their life never making a formal “job application”. Someone who wasn’t much good would be forever applying for jobs and geting rejected – hence the high proportion of such people amongst applicants to openly advertised jobs.
On teaching programming – well now, no-one is going to have to write sort code when they can use a sort routine from the API. Here you go, here’s the documentation for it in Java:
http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List, java.util.Comparator)
Easy stuff, huh? Can you tell me why the parameters have those types? Applying generalised code to specific situations is different from writing every bit-fiddling aspect from scratch, but I wouldn’t say necessarily easier. Sure, in our days we’d have been shown how to write code to sort an array of integers, because that’s something we might actually have to do. Then later on, in a code-monkey fashion, we’d have to write the same code but with different parameter types and different comparison operators. Now you just plug it all into the library sort method. No need to reinvent the wheel, but to understand how to use it does require a thorough grasp of abstraction, which is at the heart of programming.
Actually, of course I show them sort code, and they have to understand it and they have to be able to write loops and understand algorithms like that, otherwise they don’t pass my module. It’s just that I do all the generalisation stuff as well, I don’t stop at showing them sorting arrays of integers. Just because you’re now showing them generalised sort code, with generic collection types, and the comparator passed as an argument instead of hard coded in doesn’t make it easier. It might make it harder …
OK, it IS a dirty secret that many Computer Science graduates can’t program. I fail a high proportion of those who take my module. You will find the same anywhere else, and if you don’t it means they’re passing people who ought to fail, perhaps by having little in the way of assessment that involves writing real code. That’s one reason why they took programming out of school computer education – “ICT” deliberately has no programming in it, it was set up as qualification that could be passed by rote memory and waffle, amd so could be taught by teachers who’d just had a short training course and passed by pupils who were, well, not the most academically able.
Proper university Computer Science is, of course, not what they call “ICT” in schools. Still, we have to earn our bread and butter, and we have a culture in this country where it’s considered bad to fail people. E.g. in this country, you lose league table points if you have a high failure rate. In other countries, you’d gain league table points (if they had such things) if you had high failure rates, because they’d see that as a mark of high quality standards. The consequence of this is that a lot of graduates actually get their degree on ancillary modules, and obviously that attitude encourages dumbing down. There are a lot of aspects of Computer Science which aren’t just programming so getting the degree while not being hot on programming can be valid, but it often seems to be the case that the weaker students go for modules in business and management, which are much less taxing. I suggest look at the transcript if you”re hiring a Computer Science graduate for a programming job to see what modules got them their degree. If it’s for a management job, of course ability to waffle is fine, so a degree that shows you have just that is fine.
I think there was a big problem with the number of Computer Science degree places over-expanding around the time of the dot-com boom. When interest contracted, it was necessary to take on some very weak students in order to keep the places full. I was the admissions tutor for the degree at a middle ranking university at the time, and it was a struggle though we managed, but when I think of all the applicants we rejected who found places lower down the university pecking order, I can see how that led to the reputation of Computer Science degrees in general to get tarnished.
The belief that what we were doing was more of what was done as school “ICT” was a big problem – leading to many secondary schools to see our degrees as ideal for the weaker student, but not as suitable for those who actually would have valued our subject had they known what it was really about. Another problem was the snobbery in Britain which seems to think the only socially acceptable degree for anyone who is good at science is Medicine. So Medicine top-slices a huge proportion of the students who’d be most able for our subject and for other science and engineering subjects. I don’t know how it is now, but when I was doing the admissions job the pattern in all but Oxbridge and one or two others was that Medicine was rejecting applicants with AAB while other science and engineering departments in the same university were struggling to find enough students with CCC in the necessary A-levels.
I shall never forget the days of inputting made up data into an excel spreadsheet based on a car sales shop that didnt exist. Completely uninspiring and something we did weeks on end. I welcome Gove’s proposals but I shall wait to hear more from him on the matter.
It is all very well in theory, but to say that children know how to use basic IT by the time they are in secondary school is not true. My experience is that they do not know how to set up a basic document and how to send it to a printer in a format which will make it readable. They do not know paper sizes, they have no idea of how to address a letter; rows, columns, margins, no idea! So, 3 months of intensive training at the beginning of year 7, then go with the fun staff!
It’s been far too long since my Computer Science A-Level (Grade B, thanks for asking) for me to comment on current ICT teaching, but I can’t help noticing how Gove’s reaction in this case contrasts sharply with earlier pronouncements. In the Guardian article linked to by the OP, he is reported as saying “Technology in schools will no longer be micromanaged by Whitehall. By withdrawing the programme of study, we’re giving schools and teachers freedom over what and how to teach; revolutionising ICT as we know it.” But he has no problem at all with micromanaging (for example) the History curriculum.
@Matthew – Thanks for the links, I know people who look for A-Level Maths grades on CVs before anything else. I would be interested to know if you think those grades are markers of what talent is already there naturally which can be harnessed to make good programs, or if you think the value is in implied skills that have actually been taught during the course.
The articles kind of suggest that Mr “car is a subset of garage” is unreformable, but the articles are focussed on finding him and weeding him out at interviews, and the education system has more time than companies to change how people think.