I read with interest Gas Station without Pumps comments on AP CS:Principles. I have to agree with everything he says. I also read with interest Mark Guzdial’s response. There is so much to think about when considering the pros and cons of AP CS, be it A or Principles. The very AP label scares away a lot of kids that should be taking a CS course. The AP CS course possibly takes a time/teacher slot that a regular CS course designed for the average kid could occupy. On the other hand that AP label looks real nice on a transcript for a kid looking at the math and sciences. It would also be nice to offer a nationally recognized course. Being a private school we have to look at the advertising aspects of offering AP courses. The more we offer the better chance of attracting students. We compete with the public schools for students and anything we can do to make the school competitive is important.
The only AP CS course I have seen taught was the AP CS:A. It was narrow in material, as exciting as watching paint dry, 10 years out of date, and very elitist. There was absolutely nothing in the course to attract a normal student to even think of taking the course. The AP label is not a big enough attractor for a small school to build a viable sized course. Getting one or two kids in a course is a guaranteed method of having a course cancelled. It is just not a good use of limited resources.
AP CS:Principles is starting to sound promising. If it is not language specific then it I would be able to wrap the learning objectives in something that would excite the kids like a gaming authoring language. The average kid does not want to learn how to write a program that makes a Christmas tree with asterisks.
The problem with AP CS:Principles is the prerequisites. Having not seen the syllabus I have to make some assumptions here. AP CS:P cannot be an introductory level course, if it were there would not be an AP label. Therefore there has to be a course or two as a prerequisite. That prereq is what is going to convince a kid to stay with a CS program. That prereq may be the only CS course a kid takes. This makes the prereq more critical than any AP course. Building these prereq introductory courses should be the focus of NSF money. It is much more likely teachers capable of teaching these courses can be trained in a reasonable time and at a reasonable cost. The requirements to teach something like Scratch and/or Small Basic does not require a four year CS degree (which does not prepare anybody to teach anything) or a geeky interest in computers.
This whole discussion is still pretty irrelevant simply due to the CS teacher shortage. For small schools finding CS teachers is not going to happen. Be it lower level prerequisite CS courses or AP the teachers needed to meet the projected need are just not there now or for the foreseeable future. I would hate to see AP CS the exclusive domain of large schools who have the student population that allows low interest courses.
AP CS:P looks promising but I think it is the cart before the horse. It is necessary to build curriculum from the bottom up, not top down. I want more CS AP:A and AP CS:P courses in the high schools but we need to focus on getting a lot of kids in CS at the high school level, not a few in a course that requires well trained CS teachers. A lot of kids at the bottom should ensure a larger number staying in the program to the higher levels. I believe we cannot maintain a competitive edge in the world work force without a high level CS course at the high school level but we just cannot do it by building a high level course and hoping kids and teachers will show up for it. “Build it and they will come” works only for a movie.