A remarkable number of people would have you belive that computer programming is something that is difficult, something that takes hours of training, a degree, and is only for the smarter sort of person. Then the software industry criticises our education system for not turning out people who know how to program computers. I both completly agree and disagree with their sentiment.
Let's seperate "computer programming" and "software egineering". "Computer programming" is dead easy. No, really. The whole of "computer programming" can be summed up as "know what a function is". You can write any computer program from that (you can - there's mathematical proofs and everything). Computer programming is a basic thinking skill, like knowing how to do division or how to draw a mind map. Computer programming is the skill of being able to specify an algorythm that describes a problem that you want to solve. You don't even have to be good at maths to do computer programming. Every schoolchild should learn computer programming, not as a part of "ICT skills", but just as another tool they'll have available to help them figure stuff out.
Software egineering, on the other hand, is the somewhat tricky stuff. It's the stuff you go and spend a three year degree learning about, and then half a decade getting decent experience at. Software egineering is the often dull and tedious process of providing computer programs that solve other people's problems. It requires you know a bunch of stuff about how comnputer programs operate, some mathematics, development methodologies, common tools and APIs. You get practiced at debugging, and "experience" basically means you know a heap of APIs and tools, and you know which methodologies actually work for you.
Every child needs a basic idea of computer programming. Someone going on to do software egineering at degree level needs a really good idea of computer programming - they need to really have the idea of just how easy and simple computer programming is, and know that it's an incedental part of what software egineering is about.
The last thing such a student needs, though, is an A-level in ICT. It'll bore them rigid, and won't teach them anything useful. A-level ICT is for people who are likely to go on to do a degree in anything but computing, and who are likely to at some point after that to be working with IT staff - either helping to specify problems to be solved with computer programs, or as managers. To be honest, an entire A-level is probably overdoing it - an AS-level should be enough to give them the idea, leaving time over for something more interesting.
The new AS-level syllabuses seem to have exactly this idea. There's no coursework involved in the AS part of the new A-level ICT syllabus, instead you do several shorter in-class projects which you then take into the exam with you to refer to. This would seem to be pitched at the kind of people who'll find it handy to know what's involved in ICT, but who'll actually being doing something else.