If I told you that only 4% of all high school students in the United States were taking science or math classes, you’d be aghast. That’s such a tiny percentage! If 96% of students were not getting science or math classes, you could reasonably argue that it does not exist, in any practical sense.
Over the last few months, a couple of key reports give us new insights about U.S. high school computer science (CS):
- California, the most populous U.S. state with 1.9 million high school students, had only 3% of its students enroll in CS in 2017 (see blog post and link to the June 2019 report here).
- Texas, the second most populous U.S. state, had only 3.76% of its students complete a computer science course in 2017-2018 (see summary report here).
California and Texas aren’t the whole of the United States, even if they are the two of the largest states, so we can’t really generalize to everyone based on those two states. We don’t have data for who is taking computer science across all of the U.S., due to our state-centric, decentralized model of primary and secondary school education.
But from the data we have in other states, California and Texas are among the leaders in implementing CS education. They are both members of the Expanding Computing Education Pathways (ECEP) Alliance. Reports from the ECEP states who have conducted landscape surveys of what’s going on in CS education at the high school level are available here. They tell a similar story. For example, in Indiana, the most popular high school CS course enrolled only 2% of the students in the state (see report here). Miranda Parker is finishing her dissertation on the factors influencing CS adoption at the high school level, and she’s found that only 1% of high school students in Georgia take a CS course. I suspect that states not involved in ECEP likely have lower participation in computer science, not higher. Given these numbers, It would be hard to believe that more than 4% of U.S. high school students take a CS course.
Here’s one of the surprises for me in these reports: many U.S. high schools now offer computer science. I wrote a [email protected] post in 2012 estimating that only about 10% of high schools in the U.S. offered computer science. Today, that number is much larger. In Texas, it’s 43%. In California, it’s 39%. In Georgia, it’s around 40%, and about 1/3 of high schools in Indiana offer computer science classes. The high schools that do offer computer science are most often in larger (and wealthier) high schools. Lots of students could take those classes. But they don’t.
A decade ago, I thought that the reason why so few students were taking computer science was access. If your high school doesn’t offer a computer science class, you’re not going to take computer science. But today’s data paint a different story.
Even if there is computer science in the high school, few students are signing up for it. The students who do sign up are mostly male (71% in California, 74% in Texas). Some states are doing better at getting underrepresented minorities into CS classes. It’s 48% in Texas. In California, only 16% of AP CS A exam takers are members of underrepresented groups.
Some states might decide that this is not a problem; 3% may be enough. Certainly, U.S. universities are still reeling from the overwhelming numbers of students in CS classes (see most recent report from CRA). They might not want more students to become interested in computer science at the high school level. I’m hearing from schools saying that most of the introductory CS students they get have already had high school CS. These are compatible numbers. There are 15.3 million high school students in the U.S.; 3% of that is around 450,000 students—which I expect is more than the number of students in University intro CS in the U.S. If the CS participation numbers increased at the high school level, probably more students would want to take CS at the University level (even if not as a CS major). Universities would have to restructure to manage such an enormous load.
Both the U.K. Computing at School movement ("ensuring that every child has a world-class computing education ") and the U.S. CS for All movement ("to make high-quality computer science an integral part of the educational experience of all K-12 students") argue that everyone deserves to learn about computer science. If you buy their argument, then these are disturbing numbers. We need a different strategy than simply getting computer science into high schools. Now, we have to get students into the classes.