In November 2015, I wrote a Blog@CACM post calling on higher-education Computer Science (CS) departments to create courses to match the new Advanced Placement (AP) CS Principles (CSP) course. Over the last few months, I've tried to take my own advice. I gave up, but learned a lot about AP and our local context along the way. I realized that it didn't make sense: AP may not be the way to make CS education more accessible in Georgia, and we already have courses that serve the purposes of CSP.
I met with administrators at the Georgia Institute of Technology (Georgia Tech) who were supportive of creating an AP CSP course. They made two useful suggestions:
- First, other universities in Georgia's University System might also be interested in creating AP CSP equivalent classes. We should come up with a common, System-wide course number.
- Second, I should find degree programs at Georgia Tech that would want to adopt the new AP CSP equivalent course. Georgia Tech already requires all students to take a computing course (see the story here), and several courses already exist to meet the requirement. Individual degree programs choose which courses they accept to meet the requirement. Creating a new CSP course only makes sense if some degree programs want it. With the enrollment surge, our plate is full. We don't need to offer another class if nobody wants it.
The Reach of AP in the University System of Georgia
The University System of Georgia (USG) has discipline-specific advisory committees with representatives from all campuses. I contacted the Computing advisory committee. Who is putting together an AP CSP course? What number should we all use?
I received no response. I started contacting directly colleagues in CS departments at other USG campuses. I was surprised to learn that AP is not on the radar of most USG campuses. One department chair told me, "Every year we get one or two students with AP. Not enough to be worth a course."
In contrast, incoming students to Georgia Tech who took AP courses in high school took an average of seven classes. That's a lot of AP classes. The gap in student access to AP between the research universities and the rest of the USG is much larger than I realized.
Georgia Tech's Institute of Research and Planning provided an additional insight about AP for GT students. While the number of AP classes for students who took AP is large, less than 40% of GT students come in with AP credit. The other 60% demonstrated their ability in academics through International Baccalaureate programs and Dual Enrollment classes, where students take higher-education classes while still in high school. I knew that AP CS is not widely available across Georgia (see analysis here). I have not seen data on this, but I suspect that AP in general is not widely available across Georgia.
Why isn't there more AP? I know that there are state and district leaders who consider AP to be too expensive for too little benefit. Dual Enrollment is a safer bet for high school students than AP. With AP, taking the course doesn't earn any college credit. Students must first take an AP exam, and if they pass that exam, higher-education institutions might offer credit. With Dual Enrollment, the students have taken a college course. Passing the course earns the credit, and that's transfer credit to whatever campus the student chooses. The research results on Dual Enrollment are better than I had realized; e.g., rural students who take Dual Enrollment courses are more likely to complete college than those who don't.
Selling AP CSP to Other Departments
There is growing interest in computing across campus. Eric Roberts has suggested that one of the causes of the enrollment surge is growing student interest in having a background in computing in addition to whatever else the student wants to do (see post here). AP CSP was designed to be the kind of course that meets that interest, by providing the key ideas of computing with some experience in programming.
However, that's valuable only in places where there is not already computing for non-CS majors. Georgia Tech started teaching introductory courses specifically to meet the needs of non-CS majors in 2003. Our course for non-technical majors (i.e., students in our Business, Design, and Liberal Arts colleges) has had an 85% success rate for over a dozen years (see review article here).
I spoke with leadership in our Liberal Arts college about the AP CSP course I was proposing. There was some interest, but it was lukewarm. I could get more meetings once I had a complete course definition, including a detailed semester curriculum. I discovered there are few semester-long CSP-equivalent courses in higher-education, so I would have to invent one.
It's easy to see why there was little interest. We already have a course that was created explicitly for Liberal Arts majors, which students like and in which they succeed. The AP CSP course has less programming than our existing course, and the programming that is there is not focused on the contexts that the Liberal Arts faculty wanted (e.g., text manipulation, digital media manipulation). We might create an AP CSP course at Georgia Tech that focused on what the faculty wanted, but a high school student might get credit for that course by studying mobile programming or robots. It's hard to sell that kind of uncertainty when you have a course that works now, designed for your students.
Conclusion: Local Context is Everything
Valerie Barr wrote a Blog@CACM post recently about the challenges of providing access to computing education at a very local level (see post here). The local level matters, especially in the U.S., with its highly distributed education model. Context changes between states, districts, and campuses.
AP CSP is a very good idea, and higher education should support it. I learned, though, that creating a CSP-aligned course on my campus doesn't make a lot of sense.
- AP is not all that common across Georgia.
- Georgia Tech already has computing for everyone, and it seems to be working.
I support the CS for All initiative, and the goals of AP CSP. Advanced Placement CSP may not be the way to get computing to students in Georgia who do not already have access. In other states (like Maryland), AP is much more pervasive than in Georgia. I know that Georgia is pushing CSP across Georgia, but is supporting schools that want to offer CSP but not as an AP course. In Georgia, alternatives like Dual Enrollment courses may get computing to more students. The issues in Georgia are likely to be different in other contexts -- the local context matters.
The decision not to do CSP at Georgia Tech is a local one. We already have multiple introductory courses that cover CSP-like content. I would love for other schools to have these same great reasons not to have a CSP course; i.e., requiring a real CS course for every student and having intro CS courses designed for particular majors. I hope CSP can help grow computing for all at the higher education level.