Turing’s Descendants
Ben hammersley nails it, as he so often does:

The basis of a Turing machine, is that rules can be bent and broken, because all inputs are outputs of another process. That rarely interacts well with a rigid power hierarchy, which is precisely what our current school system is.
An early Turing machine application ended rather badly for the Germans, and very well for the Allies.
Many teachers would like highly informed, highly engaged, critically detailed students – they’re the ideal University student after all. However, it doesn’t take much thought to consider whether you would like to be responsible for a class of 30 of them mandated to be there, and the impacts of and on only one of them.
In terms of current impacts of understandings, Glyn often talks about surprises and unintended consequences of not understanding the power of systems.
Josh’s tale of marking is an enlightening one, but surely a better answer, and a better use of Josh’s time, would have been to do something that would get the A*, and spend his time and creativity on coding something else. The goal of a school project is not primarily to reboot the world. Of course, great side-effects are possible (more likely is getting expelled), but it is not the primary aim, and can not be at scale. Although, in a singularity twitter world, it might just be.
Starting with a basic, paper based Turing Machine adding 70 years of evolution, you get codecademy, textsFromLastNight.com and grindr. Learning javascript, you can get most of what people think of as twitter and facebook (and node.js on the back end).
As with all topics, what matters is the guidance and “guardianship” given – the teaching. And that’s not rebootable in 18 months, even with the best of intentions. It’s interesting to note the different paths chosen by that cohort of RS attendees. I wonder whether, in 3 or 5 years, our choices then (and now) will have proved to be wise, or whether it’ll have turned into a progress trap. To quote Jonas Salk: “Are we being good ancestors?”
Much of my early time in “Computer Science” came from my Computing A-Level. I did most of the two year project in an evening’s manic coding early in the term, and handed in code versions with progressively later and later time stamps. The point here is not that the project was done in that time scale, but that it met the objectives being measured (eventually my tutor noticed, and only asked for versions at major deadlines), saving us both effort.
You can argue whether that is right or wrong, you can argue whether those objectives are right or wrong, but in terms of efficient use of my time, I clearly chose better. But the important part is what comes next.
I then spent the next practical classes (with approval) working on things that interested me and others – playing around with algorithms and practicalities and solving the interesting problems others created for themselves by accident). The sort of thing that I still find fun; but it is easy to see why a class of 25 kids doing that is not likely to end well.
I forget the name of the teacher on that course (and the TA who helped with practicals), but they were exceptionally good ancestors.
That’s what needs to scale.
(Thanks to Paul Clarke for the picture.)