TITLE: AP Computer Science, Back on Peoples' Minds
AUTHOR: Eugene Wallingford
DATE: October 20, 2009 8:21 PM
A while back -- a year? two? -- the folks at the College
Board announced some changes to the way they would offer
the AP exams in computer science. I think the plan was
to eliminate the B exam (advanced) and redesign the A
exam (basic). At the time, there was much discussion
among CS educators, at conferences, on the SIGCSE mailing
list, and in a few blogs. In 2008 sometime, I read a
CACM article by a CS educator on the issue. Her
comments were interesting enough that I made some notes
in the margins and set the article aside. I also collected
a few of my thoughts about the discussions I had read and
heard into a text file. I would write a blog article!
But I never did.
I went looking for that text file today. I found it in
a folder named recent/, but it is not
recent. The last time I touched the file
was Tuesday, December 9, 2008.
I guess it wasn't all that urgent after all.
Actually, this isn't all that uncommon for blog article
ideas. Many come to mind, but few make it to the screen.
Yet this seems different. When the original news was
announced, the topic seemed so urgent to many of my
close friends and colleagues, and that made it seem
urgent to me. The Future of Computer Science in the
High Schools was at stake. Yet I could never bring
myself to write about the article.
To be honest, it is hard for me to care much about AP.
I have been teaching at my university for over seventeen
years, and I cannot recall a single student who asked us
about AP CS credit. We simply never see it.
Computer programming courses long ago disappeared from
most high schools in my state. I am willing to wager
that no Iowa schools ever taught computer science
qua computer science; if any did, the number
was nearly zero. Even back in the early to mid-1990s
when dedicated CS courses existed, they were always
about learning to program, usually in Basic or Pascal.
That made sense, because the best way to help high
school students get ready for the first college CS
course is to introduce them to programming. Whatever
you think about programming as the first course, that
is the way most universities work, as well as nearly
every college in Iowa. Those programming courses could
have been AP courses, but most were not.
Unfortunately, falling budgets, increasing demands in
core high school subjects, and a lack of certified
CS teachers led many schools to cut their programming
courses. If students in my state see a "computer
course" in high school these days, it is almost always
a course on applications, usually productivity tools
or web design.
Maybe I am being self-centered in finding it hard to
care about the AP CS exams. We do not see students with
AP CS credit or receive inquiries about its availability
here. AP CS matters a lot to other people, and they
are better equipped to deal with the College Board and
the nature and content of the exams.
Then again, maybe I am being short-sighted. Many argue
that AP CS is the face of computer science in the high
schools, and for better or worse it defines what most
people in the K-12 world think CS is. I am less
bothered with programming as the focus of that course
than many of my friends and colleagues. I'm even
sympathetic to Stuart Reges's ardent defense of the
current exam structure at
his site to preserve it
in the penumbra of the University of Washington. But
I do think that the course and exam could do a better
job of teaching and testing programming than it has
over the last decade or so.
Should the course be more than programming, or different
altogether? I am open to that, too; CS certainly is
more than "just programming". Alas, I am not sure that
the academic CS world can design a non-programming high
school CS course that satisfies enough of the university
CS departments to garner widespread adoption.
But for someone at a university like mine, and in a
state like mine, all of the money and mindshare spent
on AP Computer Science seems to go for naught. It may
benefit the so-called top CS programs, the wealthier
school districts, and the students in states where
computing already has more of a presence in the high
school classroom. In my context? It's a no-op.
Why did I dig a ten-month old text file out for blogging
now? There is much ado again about AP CS in light of
the Georgia Department of Education announcing that
AP Computer Science would no longer count
towards high school graduation requirements. This has
led to a wide-ranging discussion about whether CS should
count as science or math (the TeachScheme! folks have a
suggestion for this), the content of the course, and
state curriculum standards. Ultimately, the issue comes
down to two things: politics, both educational and
governmental, and the finite number of hours available
in the school day.
So, I will likely return to matters of greater urgency
to my university and my state. Perhaps I am being
short-sighted, but the simple fact is this. The AP CS
curriculum has been around for a long time, and its
existence has been of no help in getting my state to
require or endorse high school CS courses, certify high
school CS teachers, or even acknowledge the existence
of computer science as a subject or discipline essential
to the high school curriculum. We will continue to work
on ways to introduce K-12 students to computer science
and to help willing and interested schools to do more
and better CS-related material. The AP CS curriculum
is likely to have little or no effect on our success or