Sunday, April 06, 2008

Is There A Future For High School Computer Science?

OK that is a fairly provocative title. But I think it is actually a fair and reasonable question. The decision last week to drop one of the Advanced Placement Computer Science exams (which I discussed here) has brought a whole new level of discussion about computer science education in general and high school computer science education in particular. Now clearly I believe that it is important that these is a future for high school computer science but doing the right thing is not necessarily a part of the educational process.

So what has the discussion been looking like? If you follow your news in the main stream media or just on blogs you probably haven't heard much of the discussion. So far it appears that the discussion has been taking place on mailing lists. Not exclusively of course. The one news story I have seen so far was this one in the Washington Post.

Cay Horstmann has a blog post titled Is Computer Science the New Latin? That post shows the enrollment numbers for the last several years in the AP CS exams. Cay also has some suggestions for what people in industry can do to help promote computer science as a field. I'm going to have some more suggestions about that in the coming days. Industry really does have to help if we don't want to see the shortage of qualified people drop still more.

Dave Warlick has a post that starts off being about the four exams that are being dropped but ends with discussion of the AP CS AB exam and related issues. He makes a couple of good points including "I remain convinced that the problem has much more to do with how we teach computer science than the tests we give at the end." This is a concern that is being expressed by more and more CS education professionals as well.

Tom Finin has some numbers about the overall drop in computer science enrollment in his post. You'll see those numbers a lot if you dig into the problem. Tom points out a common belief (which I share) that "Eliminating the computer science AP test will discourage high schools from offering computer science courses and their students from taking them." If this day of No Child Left Behind all electives are under serious strain. At many schools the only reason computer science survives is the allure and prestige of that AP designation. Now one AP exam remains but as I pointed out the other day changes are in store. Will all schools be able to keep up? I have my doubts.

The discussion in the mailing lists has been different in interesting ways between how high school teachers and college/university faculty are reacting to the news.

The high school people are responding primarily to the loss of the test and what he means to enrollment and to the value of the test. Many people believe that the AB exam, which has been cut, is the one that should remain because it is the more valuable course. Others are discussing the possible changes to the one remaining exam and if or how much like the current AB exam it will become. All good questions/issues. This has very definite short term consequences for high school CS people.

The higher ed people are using this largely as a discussion of larger issues - dealing with declining enrollment, how do we teach computer science, what should the CS1 & CS2 courses look like, and other important pedagogical issues. Frankly I think these are wonderful discussions to have and I'm very glad they are going on. It doesn't help the high school situation much in the short term though. Still I am learning a lot from it.

I've been thinking about what I think the AP CS exam should become BTW but I'll wait for another post to lay that out. In the mean time I see losing one of the two APCS exams as a huge blow to the prestige of CS education. I can see that in the long term a single exam/course may be a good thing as long as it is the right curriculum. I also believe that for it to be successful on any level there has to be a clear and strongly recommended prerequisite course. Sure college students can jump right into CS 1 but a) in practice that doesn't work as well as people like the think and b) high school kids are not college kids. They need a head start. I don't believe that many high school students can really handle a year long college course in a high school year. (If nothing else there are not as many study hours per course in high school.)

In the near term this change is going to effect how administrators view CS's importance relative to other areas. The same is true for students and their parents. Plus of course many students will just take one course when they would otherwise have taken two. I just wish higher education, though their admissions officers, would express some sort of preference for a real computer science course on transcripts for students applying to science, technology, engineering and math programs. That would help more than almost anything else I can think of.

No comments: