I recently looked at the statistics on number of students taking AP exams, by state. This was prompted by a post on Mark Guzdial’s blog, which provided a summary of the state-by-state statistics for the AP Computer Science A exam.

The discussion on Mark’s blog indicates the difficulty in interpreting statistics: the post started out congratulating Georgia high-school teachers for the increase in the number of students taking the AP CS A exam and improvement in scores, but commenters on the blog pointed out that the demise of the CS AB exam meant that the total number of students taking AP CS exams had dropped and that the rise in scores probably reflected the students who in the past would have taken the more difficult CA AB exam taking the CS A exam instead. The bottom line seems to be that there has been no improvement in Georgia high-school teaching of CS, and probably some loss of quantity or quality.

Of course, I’m not in Georgia, so I was more interested in California, and how it was doing. In the state-by-state figures, California had the second highest number of AP CS A test takers in 2010 (after Texas). Of course, both are big states, so per capita rates are more interesting. Texas drops to number 4 and California to number 9. One state stands out as having had a high number of AP CS A test takers: Maryland at 241 test takers per million population. The next highest was Virginia at 150. California had 76 test takers per million. The lowest state (as in most measures of educational attainment) was Mississippi at 1.7 test takers per million. I am a bit worried about how California plans to retain anything in Silicon Valley if so few Californians are learning to program. Somehow I’m having trouble imagining Baltimore taking over as the center of the computer industry, but stranger things have happened. Maryland’s average score on the AP CS A exam was 3.03, somewhat lower than California’s 3.34 and the national 3.14, but not so low that Maryland can be accused of packing the exam with unprepared test takers. Maryland, California, and the nation as a whole have bimodal distributions, with scores of 5 and 1 being the most common.

I looked over the national statistics for 2010, and saw that many of the exams that require math had this sort of bimodal distribution. Fields with multiple exams (like Calculus or Physics) tended not to have the bimodal distribution on the harder exams, with scores peaking at the high end on the hard exams. This is not too surprising, as students who fail the easy exam are unlike to go on and fail the hard one as well. The humanities fields tend to have unimodal distributions centered around 3, rather than with peaks at the ends like the math-based exams. Looking over all fields, the lowest mean scores were on Human Geography (2.46) and the highest on Chinese Language and Culture (4.56, but only taken by 4832 students, probably mostly native speakers). The test with the most 5s is Calculus AB (48752), and the test with the most 1s is also Calculus AB (79457). That’s not because it is the most common test—that would be US History, with 384566 test takers, but the most frequent score there is a 2, rather than a 1 or 5.

The Computer Science AP A exam had only 19390 test takers (versus 236502 for Calculus AB and 75132 for Calculus BC), so there are about 16 times as many high school students getting college-level calculus classes as college-level computer programming classes. This ratio looks wrong to me, as there are far more jobs that require programming than there are that require calculus. (OK, job preparation is not main purpose of high school education, but I could argue for the greater improvement in cognitive skills that comes from programming rather than calculus also.) My own son’s high school doesn’t offer any computer programming, though they do have Calculus AB and BC. Perhaps the problem is that there are not enough unemployed programmers retraining to be underemployed teachers. It may be easier to convince math teachers to learn programming than to convince programmers to become teachers (of course, one the math teachers have learned enough programming to teach it competently, many will drift off to industry to get the higher pay).

“The bottom line seems to be that there has been no improvement in Georgia high-school teaching of CS, and probably some loss of quantity or quality.”

Really? You think all those new people taking the Level A *this* year, would have taken Level AB instead had it been offered? Growth at the Level A from year to year is a *loss* in quantity?

Comment by Mark Guzdial — 2010 November 23 @ 04:51 |

If the total number of high school students taking CS AP tests has dropped, then I do think that those who would have taken CS AB in previous years were taking CS A instead. I see no evidence of increase in computer science education. Would you consider it a gain if schools stopped teaching Calculus BC and the Calculus AB numbers went up as result of no one taking BC? Would you consider it a gain if the number of students went up in your Media Computation course, if your university were to shut down all higher-level computer science courses and media computation was all that was left? I hope not.

Comment by gasstationwithoutpumps — 2010 November 23 @ 08:08 |

My district chose to drop the course and urge the interested students to take the Community College version under dual enrollment. Freshman and sophs must now wait until Jr year.

Comment by lgm — 2010 November 24 @ 15:58 |

I went to a public high school in Maryland with a specialized CS program, and in 2000, when I took the CS AB exam, at least 70 people took it with me, in the same auditorium, and there were other rooms taking it at the same time. I wouldn’t be surprised if that high school was still a big part of the participation for MD.

We also studied Lagrangian multipliers to solve constrained optimization problems in mv calc! ;)

Comment by Riley — 2010 November 26 @ 11:02 |

It’s good to hear that there were still good public high schools 10 years ago.

I’m afraid that I went to high school long before there was an AP exam in computer science (graduated in 1971), but the public high school I went to was one of the few that had computer programming as a course (mostly Fortran).

They even owned their own computer! It was an IBM 1130 with a card reader, key punch, disk drive (with removable media), and chain printer. I believe that it had 4k words (8k bytes) of core memory, so it wasn’t the smallest model.

Comment by gasstationwithoutpumps — 2010 November 26 @ 14:35 |