Computer Science in U.S. High School Continues it Decline

Flickr Photo by Daniel Gasienica

I flagged this one a few days ago, Computer Science Courses on the Decline, from THE Journal.  It’s based on a survey by the Computer Science Teachers Association (CSTA).  According to the article…

The survey, the 2009 CSTA National Secondary Computer Science Survey, collected responses from some 1,100 high school computer science teachers conducted in spring 2009. Of those, only 65 percent reported that their schools offer introductory or pre-AP computer science classes. This compares with 73 percent in 2007 and 78 percent in 2005.

Only 27 percent reported that their schools offer AP computer science. This compares with 32 percent in 2007 and 40 percent in 2005.

I’m probably wrong to feel this way, but the declining number of AP classes doesn’t interest me that much.  The more I hear and read, the more I realize that AP has less to do with advance study than with test prep.

The survey also asked participants whether their schools offered computer science content in courses other than introductory or AP computer science classes. Seventy-four percent reported that their schools do, compared with 85 percent in 2007. (Numbers were not available from 2005.) These classes included Web design (67 percent), computer graphics (51 percent), communications (40 percent), programming (39 percent), networking (16 percent)), and applications (11 percent), among several others.

Interestingly, and a shift from the patterns of the past, the number of students enrolling in computer science courses does not seem to have declined.  According to the article, 23 percent of participating schools reported increases in enrollment, and 55 percent reported no real change.  Only 22 percent reported decreased enrollment.

So what are the causes for a decline in the courses?  Thirty-one percent say that NCLB has had a negative impact.  Other reported problems were,

..lack of teacher subject knowledge, lack of student subject knowledge, difficult subject matter, lack of student interest, and lack of hardware and software resources.

The top three reported challenges were:

  1. Rapidly changing technology
  2. Lack of staff support or interest
  3. Lack of curriculum resource

CSTA executive director, Chris Stephenson said,

“Computer science teachers are calling out for more effective professional development opportunities, such as workshops, conferences and networking opportunities, to keep up with the state of the field and offer rigorous and challenging courses that engage students,”

The article continues,

The hindrances to professional development cited by participants included facilities and resources, training opportunities, training cost, and, at No. 1, time for training.

OK, time is a biggie.  Lack of professional time built into the work day is the great progress killer.  But even at that, in this day and time and in today’s prevailingly participatory information environment, not having enough access to workshops shouldn’t prevent a computer science teacher from finding ways to keep abreast of their field.

The number of high school students heading into computer science fields is not what concerns me here.  My son has switched majors to computer science, and has decided to take a semester off, because all they’re teaching him is syntax — almost no application beyond simulating random dice throws.

What concerns me is a lack of opportunities for high school students to learn how advanced computer applications (beyond Microsoft Office) can be used in the application of knowledge in biology, physics, medicine, history and sociology, and communication.

An innovation economy is not going to emerge out of more rigorous computer science courses.  It’s going to emerge from learners who understand their world and who have the skills to take that understanding to new places.  That means being able to work their knowledge.

Powered by ScribeFire.

12 thoughts on “Computer Science in U.S. High School Continues it Decline”

  1. The biggest problem with the Computer Science curriculum offered in most American high schools is that most teachers take a cookbook approach, teaching a specific language instead of programming concepts. We’ve gone from BASIC and Pascal when I was teaching CS to C++ to Java to who knows what.

    However, out there in the real world (the one where our students will find themselves), things change rapidly and anyone who wants to last long in software design must be able to adapt to different programming environments.

    I would like to see at least beginning CS classes taught using a package like Scratch or Alice, one that emphasizes thinking over learning syntax.

    1. I agree with you Tim. I compare my experience in learning to program with my son’s. He’s being taught syntax. I want to make the computer do something useful or interesting, and I search out the code and syntax that makes it work. It’s what I like about Alice and Scratch. You’re working the code to make somethign work on the screen — though I am certain that some teachers would choose to teach the coding — and then let the students work with it.

      It seems that computer science should be a territory to be mapped, rather than a map to be learned.

      Of course it way more complex than this and there are all sorts of exceptions. But its about an approach that is more open to learning.

  2. The entire article is, in my opinion, interesting and accurate. Computer Science courses should be teaching more independent thinking and problem solving. But, alas, schools have become a ‘Test Preparation’ culture and AP courses are no exception. Quite the contrary – educators seem to focus on Honors and AP course students to elevate the test average for the school!!

  3. It seems to me that those that criticize AP courses don’t teach them… I am proud to teach AP classes and I believe my students leave my program as critical thinkers and learners… AND my students happen to do well on an AP exam at the end of their experience. I teach an AP history course, but, I have no doubt AP Computer Science is declining… it is a dated curriculum and a lot of students have figured that they don’t need to code or know Java to be relevant in on the Internet. Isn’t that the point of Web 2.0? It is too easy to criticize AP for those afraid to have their students evaluated by a challenging exam. There is high satisfaction in AP courses. The numbers of those taking the course are increasing. And… there is clear research that those that take AP courses, not just those that excel at the tests, are more prepared for success in higher education.

    1. @Jason,

      I totally agree with you, we must make our learner critical thinkers so that they approach
      to problem soving in logical manner.
      There should be informal classes before starting
      any programming langauge.
      Kindly reply so that I can discuss few ideas in order to teach better.

  4. Computer Science is in between a rock and a hard place as far as curriculum is concerned. The half life of knowledge in this area is so small. We need quickly changing curriculi to match the pace of change in this field. We look to building capacity in teaching and all organisations trying to develop. The world is in need of smart people and therefore smart curriculums. What would we start to include? html5, xna etc ipod apps android.

  5. It doesn’t matter what the language is. Our computer science courses are more and more application based and less and less programming based. I remember learning how to program in basic, pascal, fortran, even logo when was in school. I don’t use any of those languages now obviously. Heck I’m not even a programmer – I’m an elementary school principal. Of the many things I was supposed to have learned in school, programming has been probably one of the most useful. Not because I program all the time, but because of the logical patterns of thought it taught.

  6. I know this article is old, but I’ve been looking at the computer science classes offered at the top STEM high schools in the US. I’m amazed at how little is being taught, still.

    At our magnet public high school in Maryland, we teach foundations of computer science, Java 1 & 2, Analysis of Algorithms, Writing Mobile Apps, Artificial Intelligence, Computer Graphics, Intro to Networking, Elements of Computer Systems, and Software Design. I’m starting a new class next year on Digital Forensics.

Leave a Reply

Your email address will not be published. Required fields are marked *