This is how it's already done in the UK, and has been for decades. When I was in high-school (or rather the UK equivalent) about twenty years ago we did discrete maths, algorithms, and data structures in the regular maths classes. I don't think computers were even mentioned - it was all described as maths topics.
And this was a bog-standard state school.
So when I want to university interviews I was already able to describe for example how to implement a hash table.
Now we have discrete Computer Science at GCSE and A-Level.
[1] https://filestore.aqa.org.uk/resources/mathematics/specifica...
He knew nothing about programming except that he thought it was cool, and often taught us a lot of incorrect information. Being a jackass 18-year-old, I corrected him on all of this. I got 100% on every lab, assignment, and exam... and got a B in the class ("participation!").
It was about this time that I realized college might not be the thing for me.
If any of your are even slightly inspired by what was talked about in this video, and would like to get involved with teaching the next generation of hackers, then I'd like to suggest that you think about starting or supporting one of the clubs SPJ mentioned.
CodeClubs are school based clubs that you can run in a local school. We provide all the resources and guidance you need, and you can get involved here.
Coder Dojos are clubs that are run at weekends, in libraries, offices and community centers. Again, we provide educational resources to help you out.
Both of these clubs are international. So it doesn't matter which country you are based in.
Also happy to answer any questions people have.
Oh, and if you have kids and want to get them started, checkout some of our projects. These are the Scratch ones.
https://projects.raspberrypi.org/en/projects?software%5B%5D=...
He is so warm and spontaneous, yet smart and obviously can invent exact and concrete things!
The main take away I've received from doing this job for the past two years is the same one that SPJ reiterates in his talk. Teaching is a very distributed discipline. There's no top down solution to implementing a new curriculum. If you work in the industry and volunteer to help a school you can make a huge difference!
I was visiting Microsoft Research in Cambridge writing an article for PC Format magazine, a British computer mag. They took me to see a few people to show off Microsoft Research.
There was this one guy who talked to me in his office. He got very excited about Haskell (which I didn’t know what it was) and he was also working on some Excel feature he was convinced of the brilliance of, but hasn’t persuaded the product team of.
His theory was that the only thing you know about an Excel spreadsheet is that most of your predications are wrong. My interpretation was that he was proposing a way of indicating a probabilistic range rather than a hard number.
I don’t know if this ever made it into Excel, or if indeed this was what he was talking about.
But it’s amazing to see this odd fellow I met was actually quite famous.
Perhaps it's significant in context that a writer for a UK computing mag wouldn't know of SPJ. Would they know of any UK CS luminaries, like Hoare?
First, this was designed by politicians who I am sure everyone on this sub would hate (basically, the Brexit boys). The stated aim was to be more elitist: make subjects much harder, encourage smart children...and dumb children...well...sorry, if you are dumb when we test you at 11 then you will be digging ditches.
Second, the logic for this came from people who had never taught in schools. Again, the people above declared war on teachers. And then took advice on how to educate children from people who had only worked in tertiary education (I actually support a lot of the principles but the implementation has been beyond dire, and loaded with corruption).
Third, try explaining programming without computers to a child. There are so many abstract concepts...it is just insane. I understand why an academic thinks this is a good idea. More jobs for the boys. But it still makes no sense.
Fourth, this feeds into the aspect of British culture that reveres irrelevant knowledge (and despises practice). Nowhere is this more evident that in CS departments. Example: the UK has great CS depts but no innovation within business. The university local to me has a top ML department, they have been doing speech recognition since the 60s...all the PHds leave, there is only one speech recognition startup in the city...and that is govt-funded afaik. Taking advice from people like the OP is suicidal.
This isn't fair. Academics usually have a true love of their subject and desire to teach that to the next generation.
>Third, try explaining programming without computers to a child. There are so many abstract concepts...it is just insane.
They teach many abstract concepts. The current curricula for many subjects are already full of abstract ideas that we expect children to learn. Programming is basically functions, logic and basic algebra. It's not remotely difficult to teach these to children.
>Fourth, this feeds into the aspect of British culture that reveres irrelevant knowledge (and despises practice). Nowhere is this more evident that in CS departments. Example: the UK has great CS depts but no innovation within business. The university local to me has a top ML department, they have been doing speech recognition since the 60s...all the PHds leave, there is only one speech recognition startup in the city...and that is govt-funded afaik. Taking advice from people like the OP is suicidal.
I think this is wrong. Developing strong theoretical understanding is not pointless. You can't have innovation without theory. I agree that maybe the country needs to apply that academic kowledge better to money making endeavours, but I don't believe that keeping the education system as it is now is going to help. We need more numerate people with detailed knowledge of scientific disciplines in order to drive innovation.
The relevant slide states about programming (and computers and tech):
- Crucial, motivating, and "ground truth".
- But also seductive, distracting, and risks excessive focus on technology details
It's hard for me to disagree with either claim.SPJ is also not talking about "irrelevant knowledge without practice". I won't reiterate all his points, because that's what the lecture is for, but he stresses the practical parts as well as the theoretical parts, and he never claims CS should be taught "without practice".
And the problem isn't that the ideas are abstract. But that they are abstract relative to what the task actually is. It is like teaching a cookery course but not doing any cooking. And presumably, you are saying that it isn't difficult to teach these things because you know that? I can tell you it is false because many CS universities in the UK don't manage to produce grads that can program...easy though...amirite?
I didn't say it was pointless. I implied it was pointless to teach to children. And you are right, we need significantly less professors and significantly more doers. The UK has a massive quantity of people with immense talent wasting their lives with arcanum. The only value produced is in teaching this stuff other people...that isn't useful knowledge. Trying to control that process by brainwashing children based on what you think is valuable knowledge is not only a disturbing pattern of thought, it is utterly pointless. We have had this system (the UK civil service used to hire based on knowledge of Greek/Latin), it doesn't work. Give people useful knowledge, give them opportunity to innovate, and they will get on with it themselves. The problem we have is that we encourage people to waste their lives at universities (I say this as someone with postgrad degrees btw...you can learn useful things but the most useful thing is actually using your skills to help other people).
It smacks of transplanting a rose-tinted view of 1950s academia into schools.
Teaching students in a modern school environment is a world apart from academia.
Also, entirely predictable down-voting, I imagine from engineers who have no experience of teaching.
Perhaps we need trade schools too, but primary education should not be that.
Also, it's not all abstract nonsense without computers. Learning to hand-evaluate functional programs is perfectly reasonable, and no more tedious than long arithmetic by hand. I've seen students treat the implemenation like a black box, when the interpeter algorith is not complicated, which I highly doubt is good for pedagogy. (Though, as I have not studied education, I've leave that at "highly doubt".)
And finally, completely separate from the above, it's good to avoid computers for focus/attention reasons in many classroom settings. Even if they somehow could speed up learning, until we've worked out all the psychological effects of bright fast moving screens and stuff, I can't say I mind the good ol' paper and pencil that every teacher knows well.