Should every student be taught a CS/programming course? I am going to approach this question from the Montana perspective and pure numbers. That perspective should be relevant to many of the states in the US. Most schools in Montana are small, 41% have fewer than 50 kids, 6% have more than 500 (2008-2009 stats). Even though 31% of the kids are in schools with greater than 500 students there are a whole lot of small schools. By the State’s numbers there are 829 schools in Montana, 779 with less than 500 students. If every student is to be offered an opportunity to take a programming course that means Montana would need at least 829 CS teachers. I should subtract the present CS teachers from this number so now we are down to 823. Should every student be taught a CS/programming course? It seems like a good idea. Will it ever happen? Nope. The argument for or against APCS A/P is so irrelevant to most schools in the US simply because there are no teachers. Unless there is some stimulus to state universities (the universities most people can afford to attend), and in particular CS departments, to offer a CS Ed program the situation simply will not change.
The NSF grant of $5.2 million for a new AP CS Principles course is absolutely ridiculous for most schools and most students in the US. That $5.2 mil should be going to develop a freshman/sophomore level program that does not take a four year CS degree or 20 years of experience to teach. At the present rate of CS teacher education there will never be a satisfactory number of college prepped CS teachers. A program is needed that will get a non-CS educated teacher started with enough knowledge to do the basics of a CS course. Some kind of summer program in CS Ed is needed that does not cost the teacher $800 to attend. Incentives to the universities and scholarships to teachers to get them to attend are what is needed. A CS Ed summer program that is free, and offers recertification credits would tempt a large number of teachers and might just start to fill the major shortage of CS teachers.
Finding teachers qualified to teach a CS Ed program is going to be another issue. Now we get the chicken or the egg thing going.