Re: Some Cold-Steel-Rational Advice
1.) Stop Calling it "ICT". It is not about telehone technology. It is about "Computer Science".
Agreed to an extent. "Information and Communications Technology" is, if anything, almost a tautology. If the telephone industry wants to use IT, I'm not stopping them, but sticking the "C" in there was just a marketing ploy. IT it was, and IT it still is.
2.) Algorithms&Data Structures are the core of "Computer Science". Before the kids learn "to program colorful, silly games with hopping monkeys", the need to learn how to do mundane things like printing the first 1000 prime numbers on the screen. Or summing/averaging/filtering 1000000 lines of a csv file.
A little over the top, but there's a point to it. The problem is that we are talking about children here, and children won't learn unless they are interested in what they are doing. I suspect that the actual method here lies somewhere in the middle - you can leave the whole Data Structure and Algorithm stuff until they are at an age where they are likely to be interested in it and have the skills to actually exercise the knowledge that they pick up.
3.) Programming language choice is secondary. Pupils are not supposed to acquire job skills, but conceptual skills which can later be transferred to dumbhatt++, the most popular imperative language of 2020. So Pascal, C#, VB.Net, Perl, Python will all do.
That's an important point. I did my GCE (note the absence of the "S" here) with reference to Pascal but it was my teacher's opinion that the training I got was secondary to learning the skill of general programming so that I could turn my hand to any given language. I'm glad that he did, since I've programmed in many different languages since then, none of which are Pascal!
4.) TEACHERS. If the government had any capable people left, they would figure out how to educate, hire and retain teachers. A good teacher and a couple of 80286 PCs+Pascal compilers can still teach much more effectively than a dud with the latest Intel Xeons running Google Web Toolkit. A competent teacher and the RPI plus Lazarus would be pretty effective, too.
The government has few, if any, capable people left. It's the reason why such people as Furber and company have to be brought in to tell them where they have gone wrong and what they can do to correct the mistakes that have been made by successive governments since before the close of the last century.
Maybe they can make math teachers add Computer Science to their skillset - that is something which could be attempted. Computer Science is acutally a very exact thing if you don't confuse it with the colorful stuff from MS, so it should be attractive to Math teachers.
And one of the first things we need to do is to finally disabuse this notion that Computer Science requires a high degree of Mathematics. For the majority of Computer Science, the nearest that you get to that is a large lump of logic, a degree of arithmetic and, very occasionally, basic geometry. Nothing else.
5.) Grammar Schools. Yes, Computer Science is hard and it does not make sense to teach it before pupils have mastered quite a bit of maths and their momma's language. They need to be able to write about concepts and that means it is not for everybody. Doesn't mesh with egalitarian ideology, but still true.
I refer you to my previous comment. The only time that you are likely to need more than that is where you are dealing directly with higher mathematical concepts for their own sake. For the majority of programming, it's irrelevant.