I recently had a discussion with a professor from Virginia Tech on why can’t we recruit more students for Computer Science majors at the university level, why can’t we get women or minority students, and what can be done to turn this around? There is obviously a great deal of interest in recruiting students to our discipline, so why are we unsuccessful?
Why don’t high school students take Advanced Placement Computer Science? There are a variety of “excuses”: it is too hard, it is boring, I don’t want to spend my life in a cubical writing code by myself or I don’t want to be a computer scientist, there are no jobs, etc. Let’s examine these rationalizations.
1. It is too hard. Certainly, Computer Science is a challenging discipline and is different in content and concept from any other high school course. But, is it too hard? AP Calculus is hard. AP Physics is hard. AP Spanish is hard. AP Government is hard. In fact, all AP courses are hard. They are college level courses high school students take. By their very nature, AP courses require extra work, cover advanced material, and proceed at a more rapid pace than their non-AP counterparts. AP Exam results support my contention that AP Computer Science is no harder than any other AP subject.
2. It is boring. Again, if all we do is write boring programs, AP Computer Science is boring. However, there are many interesting labs that AP students can do involving graphical applications and real life simulations. As teachers, if we were still teaching using the techniques we learned to teach Pascal, our course would be dull; but most of use are using modern tools and techniques. Even so, is computer science more boring than memorizing derivative forms or learning physical laws?
3. The last series boil down to the perception that there are no jobs or that the jobs are boring. Various agencies (Census Bureau, Labor Department) indicate that there is a growing demand for people with computer science degrees and that the jobs are good jobs that are unlikely to be off-shored. So why can’t we get this message out?
Why do high school students take Advanced Placement (AP) courses? While there are many answers to this question, certainly the ability to achieve college credit or placement is a key factor. Can a student who takes AP Computer Science benefit directly in their college career? For most students, the benefit is indirect and intangible. Few colleges award general education credit for AP Computer Science. The typical student can satisfy those GenEd requirements with most AP courses (math, science, history, foreign language) but AP Computer Science does not fit in this mold. AP Computer Science students learn how to solve problems, how to think outside the box, and how to tackle a large project. These are all skills that lead to success in future academic courses. However, AP Computer Science does not lead to college credit for most students.
So, what can we do? We (High School Teachers) can’t fix the college credit issue. However, we can tout the virtues of our course in developing 21st century skills and creating a more technologically savvy student. How many majors require either a formal programming class, expect the student to be able to write Excel spreadsheet macros, or create Visual Basic applications? As a student, do you want to do this as a college freshman when you are making the adjustment to college life or as a high school student when you are still in your comfort zone? As educators, we need to sell our course, not as making students computer scientists, but rather, exposing students to skills and knowledge they will need for the rest of their lives. How many other high school courses can make that statement?
John Harrison
CSTA Board Member
6 thoughts on “Where Are All the High School Computer Science Students?”
Leave a Reply
You must be logged in to post a comment.
Just a quick follow-up to the original post. This month’s Voice contains a table of AP Exam growth from 2003 to 2008. AP Computer Science decreased by 6% while AP Biology, Calculus, Chemistry, Physics, and Statistics all grew by at least 37%. Certainly our discipline is as important in today’s world as any of these, so why can’t we attract students? I wish I know the answer.
I think it is related to the recent job market pattern changes, trends, and financial expectations. Despite the importance of designing and implementing of the new software, development of effective ways to solve computing problems, planning and managing organizational technology infrastructure, those more popular “disciplines” have apparently brighter future. My daughter just switched her major after 2 years of computer science to pharmacy – it pays around $100K per year and there is no problem with finding a job.
Of course there are students that would like to take Computer Science classes. I am a student that wished my high school had AP Computer Science. I really like the curriculum of AP Computer Science. Besides that my school should have computer classes but they don’t. Well, I’m going for a computer science major when is time to go to college.
Very true. It’s sad that we have very few good computer science teachers, especially in my place. Most of them goes for one type of business or the other but very few come to teaching line.
I don’t take AP Computer Science because my school doesn’t offer AP Computer Science. I want to major in it when I get to college, but I have nothing except my interest.
I just finished AP Computer Science at my school in Tennessee, but my hometown college won’t except it. I think I’m going to Tennessee Tech, but I don’t know. If they put out more scholarships for computer engineering majors / computer science majors, I think there would be a metric truckload of people waiting to apply. I would. Just my thoughts.