However, I reckon the real issue is that CS at university cares less about what you did at high school. They want Calculus/Further Mathematcs and Physics for sure, and having Chemistry is a help. It is rare than a college cares about AP CS other than in a token way. All this has the effect of making CS in high schools a complete and utter waste of time, for the student and for the school, which is why CS in high school will (unless things change) always have a wave of enthusiasm sinking back into a slough of "why did we even care?"
Think of it this way, if you go to university wanting to major in X (be it Art, Music, Languages, Sciences, Mathematics etc, anything but CS), they check that you've done X in high school. CS doesn't want X, they want Y and Z. So, the failing to have a proper CS program in high schools that would properly prepare students for CS (and for that matter Engineering and to a degree the Natural Sciences) is that the universities cannot or will not agree to what constitutes a proper preparation for CS.
What makes it worse is the likes of Google, Microsoft etc plump down money for these "feel good, everyone can/should code" initiatives. The kids, their families etc get all excited and then it hits them like a brick - the universities do not care.
I believe if the universities got their act together, or were presented with a solid CS program that fed into their undergraduate core on much more than a "Whee! We can now write functions!" (which is all AP CS provides) then things would get real and be of actual practical good to all. I know there's the smarts for this in high schools, and I know if universities got over themselves they'd be able to as a team come up with something great.