« Online Professional Development Opportunities | Main | Real World Learning in a Web Design Class »

Why Students Do Not Take APCS

I recently heard a statistic that 30% of the students who take AP Computer Science go on to major in computer science in college. While this may sound like an impressive statistic, it only serves to highlight one of the systemic problems in high school computer science education -- namely, that we don't serve a broad base of students.

Consider the evidence. Only 20,000 or so students currently write the APCS (both A and AB combined) exam, and this number is likely to decrease next year when the AB exam is retired. Contrast this with the 100,000 students who take the AP Chemistry exam, the 145,000 students who take the AP Biology exam, the 275,000 students who take the AP Calculus exam, and the almost 600,000 students who take the AP English Language or Literature exams. In fact, more students take an AP exam in French than in Java!

Why is there such a wide variance in the numbers? I think you have to examine the motivations of students who take AP courses. While some students take AP courses because they like the subject matter or because they want college placement and/or credit, my experience has been that the vast majority of students take AP courses for two reasons:

First and foremost, students take AP courses because of the GPA boost they get. Many high schools have a higher GPA scale for AP and honors courses, but even if they don't, admissions departments at the college level will often recalculate a student's reported GPA to weight AP courses more heavily. The end result is that many students will only take a non-AP course as a last resort because it will often *lower* their GPA -- even if they get an A+.

Second, students take AP courses because it improves their chances for admission at most selective colleges and universities. Admissions officers want to see students take the most challenging coursework available to them. When there's a choice, it is better to take an AP class (even if your grade is slightly lower) than to take a non-AP course and get an A+.

The main problem is that the APCS course (either A or AB) is perceived as difficult and time-consuming -- not rigorous and challenging. With all that students are doing these days, being able to sink two or three or four hours a night into a lab is just not possible. Even if they have the time to put into APCS, they have the very real concern that their other grades will suffer as a result.

It comes down to the fact that when students have a choice between APCS and another AP course that they perceive as "challenging but doable," students will usually pick the latter -- sometimes even if they would prefer to take computer science.

Don't get me wrong. I love computer science and I advocate strongly that *every* student should have a basic understanding of the field. But unless we do something soon to change how computer science is being taught at the AP level, I fear that APCS A will soon go the way of AB.

As far as that 30% statistic I mentioned earlier, I'd much rather see it drop to 2% -- as long as we could develop a broadly appealing yet rigorous computer science course. If AP Computer Science could draw a similar number of students as AP English, we would increase the number of students who go on to major in computer science by more than 50%. Now *that* would be impressive.

Robb Cutler
CSTA Past President

Comments

I think you might be missing something here. Students in High School are *required* to take around 3 math courses, and almost always 4 english courses. This means that, at least with the AP English case, every single student at a high school can at least consider taking that course. For many students who plan on going to a relatively selective school, they will also be required by the university or college to complete 4 years of math. That means that many of the honor students will just end up taking AP Calculus, because that's where the "road" takes them.


With AP Computer Science, at least at the High School I went to, the "road" is much different. In my school, and I assume a majority of others, you only needed 1 credit of computers. And my school even allowed the computer classes from Junior High to count towards your high school requirement. This means that for the most part, the only students who will come into contact with ANY computer course in high school, will be those who are interested in the subject in the first place, as opposed to those who are "forced" to take a math or english class. On top of this, my school made you take 2 years of prerequisite computer courses before you could take AP Comp Science. That means that if someone who is a Junior just discovered their interest in Computers, they would be unable to take AP Comp Sci by the time they graduate.

So in the end, it has to do with the way the school system is structured, not necesarily the way the difficulty of the class is considered. In fact, most students simply see taking any kind of computer class is "nerdy" unless they plan on going into that sort of field. So if anything is to change in the near future, high schools would probably have to start making more computer classes mandatory, this way students will have the predisposition needed to be interested in, and be able to take AP Computer Science.

First off, I believe your observations are spot-on. I believe, moreover, that the problem goes a little deeper than we might want to believe.

Yesterday, I attended the usual Tuesday afternoon Instructional Council meeting (a meeting where Administrators, Department Chairs, etc. sit around and discuss matters over which they have little control, etc.). At this meeting, the Science Department, in an effort of increase their AP enrollment numbers, proposed a "signature" program for students who are talented in math and science. I sat for 30 plus minutes and watched the Power Point show, etc. During that entire presentation, each AP course was enumerated and evaluated vis a vis inclusion in their signature. Every AP program except the two AP Computer Science courses that I teach.

Fortunately (or unfortunately), in response to audience challenges the spokesperson for the Science department mentioned Computer Science as a complete after-thought: "They can take any AP course they want in our program ... they could take ... what's that course you teach Tom?"

When the Public School system in the US is ready to graduate to the 20th or 21st century, perhaps perceptions will change. Now, I believe that what we're seeing is a confluence of bad events, capped off now by a economy that will demonstrate to even the hardened skeptic that CS related jobs are a good investment in our future. But, again, that alone, will not change the perception of the majority of decision-makers in this county. And, until and unless that changes, we will continue to be systematically marginalized and dismissed.

E. L. Bernays, who created the field of Public Relations and was a brilliant propagandist observed that decision-making bodies follow a herd mentality. In essence, they occupy "logic-proof" compartments. You cannot change their view by the power of logic, rational argument, or apparent reality. They use these as tools to confirm their world views, and they will use these tools to reject any evidence that contradicts their views. So, unless you've changed their minds by some other means, by the time you attempt to appeal to logic, etc., they simply don't hear you, at best, and attack you with those same tools, at worst.

Food for thought.

TomR

Of course you could be having things like this happen;

When Teachers Are Obstacles To Linux In Education
http://linux.slashdot.org/linux/08/12/10/001236.shtml
have a read of some of the comments in the slashdot article and you start wondering what is happening in some schools with the education.

which links to this blog Linux Stop holding our kids back
http://linuxlock.blogspot.com/2008/12/linux-stop-holding-our-kids-back.html

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)