Lots of skills are needed
"To be good at Computer Science you need Maths and Physics,"
Maths and Physics would certainly be a big help when you're starting Computer Science. They are about how things work, why they work, what will happen if you do certain things, etc. All good stuff for the logical thought needed to get a program (do we say "app" nowadays?) to do what you want it to do. I'd suggest that they are not essential however and that an open mind and a willingness to learn and an enjoyment of learning are key factors to success.
What we need, in the industry, are people who can communicate with other people and understand their problems, needs and requirements - then implement those in a deliverable system, on time, within budget and to specification. Those abilities are woefully lacking in many industries.
How about a group of kids are put in contact with another group of kids, at a different school and given the task of producing a system for them, having regular meetings and trying to establish what is needed and then doing it. Initial guidance from teachers and a set of 'template projects' would be needed here. Regular progress meetings and test feedback would soon teach them the skills they will need in the real world. Experienced teachers would be needed to stop fights breaking out.