I’ve done a fair bit of thinking about this business of teaching computing in schools and I think the new proposals have got a simple thing quite wrong. The reinvention of ICT at GCSE to include 27 different qualifications is symptom of an underlying confusion.
By ‘computing’ what everyone really means is ‘do they learn to program?’ and the answer varies wildly. Part of the reason can be found in a government-supported drive to introduce code to those as young as seven. Sponsors of this are drawn from the likes of the British Computer Society (BCS), Google and Microsoft.
The UK wants home-grown computer engineers like we used to have. It’s that simple. Of necessity the previous generations were self-taught. Even today If you go into any SME IT company of around ten or fifteen years old it will be staffed with engineers that are self-taught. There will usually only be a smattering of computer science graduates.
How much better we would all be if only schools had taught computing? B***s. The first conceit of education is that you need to teach something after all how else could children learn? Arrogant nonsense.
But it gets better. Did you struggle with the object orientated languages when you first met them? Maybe you still do? Do you feel slightly queasy piecing together the logic of the Tractatus? Did the differential calculus ever make sense? If so then you are part of the 80% of society who have not moved into the abstraction phase of their cognitive development.
Even if you are an abstract thinker you did not become one until about aged 15. If abstract thinkers emerge during the second half of secondary education, and they almost invariably do, ergo most students at school are in the developmental phase called ‘concrete’.
This means that to be introduced to computing-coding it has to be non-abstract concrete stuff like animating a gif in html or switching on the light on an Arduino or building the winning time lapse camera for the Raspberry Pi. It has to be: cause creates effect, and that effect must be in the real world.
But what do we find when the pedagogues get their hands on computing? We find them teaching the principles of computing and coding, often through simplified software like venerable LOGO or modern SCRATCH. There is an abstraction layer here that is enormous, in that a child has to connect this activity that belongs to one world, the edu-world to a real world.
And because it’s education, the younger the kids that do it the better. You know what I mean, a Prep School will teach calculus to 12 year olds because they must be cleverer than the oiks who do it at 16. In other words they will developmentally mismatched.
That is why the project to reinvent the teaching of computing in schools will fail, and for the following reasons:
- There will be a mismatch between the level of child development and the material they are presented with resulting in incomprehension.
- The work will not be real-world it will be a simulacrum and so unattractive. Children want to be real. Using Dad’s power tools becomes a reality in an 11 year old’s DT lesson, and coding in a language no-one uses for real is a giant turn-off.
- Only the tiniest proportion of students however they encounter coding will have the intellectual apparatus to develop this to a higher level.
So dear Gov, I know you want coders and engineers but you won’t get them from your teachers’ efforts. Instead, give kids the time to play and the kit to play with instead of keeping them busy with your programs of study and endless tests.
You have stopped the supply of the next generation of coders, and inventing more things that you think they should do just makes it worse ... you’ll see.