In many American high schools one can take AP courses that lead to standardized exams in a variety of topics that many universities will use to allow students to place out of some introductory courses. At least that was the purpose when I went to high school, but since then the AP exam has become a mainstay of the high school curriculum. Nearly a quarter of all high school students take at least one of 35 different AP exams. Student applying to good universities had better have several AP courses and exams on their record. Bush made AP exams a goal in his state of the union and Newsweek uses the AP test to rank high schools.
I have nothing against the AP exam in its original form, I took exams in math, physics and chemistry in high school and they saved me from some courses in college. But these exams have their drawbacks, as one has to teach to the exam. Gone in these course is the ability of teachers to experiment and students to excel in different ways.
We have this particular problem with the AP Computer Science A and AB exams. These exams force teaching in a specific language, currently Java, where teachers might have found other languages betters suited for presenting a variety of computer science concepts. The CS A exam focuses mostly on programming in Java, the CS AB exams does add some data structures and running-time analysis.
In high school (before the AP CS exam existed) I had a wonderful course that combined computer programming and probability. We don't see these kinds of interesting classes where the advanced classes in US high schools have to focus on exams.