Your manual driving licence qualifies you to operate any manual car ever made.

Just because YOUR car doesn't have it, doesn't mean you shouldn't be tested on it, especially if you are then considered "competent" in driving a 1960's manual-choke, manual-gearbox, no-assistive-tech car by doing so.

That would be like a computer test only using a particular version of Windows, and being left in the lurch on any other version or operating system. I mean, who'd be stupid enough to pay for something like that?!

And problem analysis is entirely different to coding, and entirely separate and part of other things that are not in the scope of computing or computer science at all . Teach that as a separate skill entirely (part of verbal and non-verbal reasoning in schools). We already do that. It's a "core" skill, not something computing-only. But coding is inherently computer science, not computing. Specialist, not mainstream. In the same way that we teach a LITTLE bit of component identification in computing, we teach a LITTLE bit of coding. It helps identify those good at it, and it provides a groundwork to understand what it is. But we shouldn't be forcing every man, woman and child to be knocking out apps and programs... it's too much of a time-suck and too specialist a skill for general use. And I'll tell you now that most of the teachers I see CANNOT do it (the exception is generally former mathematicians, believe it or not).

P.S. I work IT in schools and I'm a mathematician by degree. And I entirely disagree with your premise here. Arithmetic is a basic skill that you learn to make your life simple because it can be learned by rote. Mathematics rarely involves a calculator at all. It's a complete misunderstanding to think that we use calculators in arithmetic because we're above that. When maths involves their use, it's because the actual result matters little compared to the derivation of the formula you came up with. It's literally the last step to plug in the data and get a number out and thus doesn't need the error of being done in the head. But basic skills arithmetic will aid everyone - calculator on their smartphone or not - and make even the most skilled mathematician able to skip calculator use for integer arithmetic, for example. But they will still reach for the calculator for anything else that needs it. It's a time-saving tool, not a removal of a necessity of skill. But the basics STILL NEED TO BE TAUGHT. Not just to degree-level maths-career students, but to everyone at a young age. However, we don't need to dig into calculus for every child struggling to add up. General vs specialist. Arithmetic is general. Mathematics is specialist.

In the same way, typing an email is a basic, general computing skill. But if anyone ever NEEDS to write an email server, they will study documentation, learn a language and "cheat" using tools and resources in every way possible. And that's specialist - you will use computer science, not computing. Using Google to find an SMTP RFC is the same as using a calculator in maths. A time-saving use of a tool, not a integral part of being a programmer or mathematician - something you do because you're operating on an entirely different level and being bogged-down in details on trivia is time-wasting.

We don't need to force every kid to code beyond what we did 25+ years ago. I did LOGO when I was in primary school. It can satisfy even the new ICT curriculum up to GCSE if you use it right.

But we do need them all to have a tiny grounding in it to understand what it is. And pick out the specialists. And have the specialists go further in their chosen fields.

Kids should all be taught what USED to be called "Control". That's things like Logo and Beebots and making things do what you tell them and breaking the problem down to simple instructions for them.

But expecting everyone to be able to write apps "just because" is a waste of time and beyond the skill of most teaching practicioners in the industry.

In 15 years of working in schools, I have seen precisely three teachers who can program (P.S. I'm a programmer too). Two former mathematicians (FORTRAN and COBOL in former lives). One guy who went into industrial control straight out of school and grew up using BASIC and assembler on a 1MHz thing back in the day. Only one of them actually taught IT. The IT teachers? They were baffled by my programs, whether written in Visual Basic, bash script, C99, Java, Javascript or even - in one case - Excel VBA. They literallly couldn't get close to understanding beyond the simple loop operations they knew.

Coding is a specialist skill.

Computing is a generalist subject.

Mixing and matching them is as ill-advised as expecting top-track 100m sprinting performance from every child in school.