http://bit.ly/1YFwWv0 November 15, 2015
In May 2017, the Advanced Placement (AP) examination in CS Principles (AP CSP) will be offered for the first time (see the AP CS Principles website at http://apcsprinciples.org/). The first high school classes to prepare students for the exam will be starting this coming Fall 2016. The existing AP CS Level A exam is not going away (see the AP CS website at http://bit.ly/1QcgLSZ).
The AP CSP course and exam were created to provide a more welcoming, a more generally useful, and a less programming-intense introduction to computer science. Individual states make up elementary and secondary school policy in the U.S. Creating a new AP course in CS is a way of providing a new path into CS to everyone. U.S. high schools want to offer AP courses to their students. Having more high schools offering a more accessible AP computing class can help to increase access to high-quality computing education at the high school level—if students take the class.
It is in the interest of computing departments in higher education to support AP CSP, in order to get a more diverse student body interested in CS and coming to our campuses. For AP CSP work, CS faculty at colleges and universities need to take action. Let me explain what I mean in terms of three questions—whose answers I do not know.
Question 1: Will colleges and universities offer CSP-equivalent classes?
The Wikipedia page on Advanced Placement (at https://en.wikipedia.org/wiki/Advanced_Placement) explains the program this way:
Advanced Placement (AP) is a program in the U.S. and Canada, created by the College Board, which offers college-level curricula and examinations to high school students. American colleges and universities often grant placement and course credit to students who obtain high scores on the examinations. Some colleges use AP test scores to exempt students from introductory coursework, others use them to place students in higher designated courses, and some do both.
In general, AP courses are designed to replicate existing college-level introductory courses. AP CS A is explicitly designed to be like existing introductory computer science courses ("CS1") across the U.S. and Canada. CSP is different, because it is being created from scratch by the College Board, with U.S. National Science Foundation (NSF) funding.
Will CS departments start offering CSP-like courses? Based on Philip Guo's recent analysis of introductory courses at universities (at http://bit.ly/W0vtox), there is not much sign that CSP courses are being created (see the blog post at http://bit.ly/21sTYYt). I am not even sure those who initially offered CSP will keep doing so. My institution was one of the pilot sites that offered CSP at the college level (you may access a list of pilot sites at http://www.csprinciples.org/home/pilot-sites). There are no current plans at Georgia Tech to offer the course ever again. Since it was not a requirement for anyone, few students signed up for the pilot offering. Given the massive enrollment surge, there is little appetite for creating and offering additional classes—especially when no degree programs on our campus require anything like CSP.
Question 2: Will colleges and universities give placement or credit for a course they do not offer?
I do not know how all universities deal with AP credit. At Georgia Tech, we can only give credit for an existing course. An AP course might count as taking some course, or might allow you to skip to a more advanced course. If we do not offer a CSP-like course, we cannot give credit for it.
We do offer a Media Computation introductory course in computing for non-CS majors (http://coweb.cc.gatech.edu/mediaComp-teach.
If a student was admitted to Georgia Tech having passed the AP CSP exam, we might give them credit for the Media Computation. The problem is that our non-majors course has much more programming in it than AP CSP, and there is a pathway from the Media Computation course into other CS courses. If students come in with CSP credit and choose to take more CS courses on that pathway, they will not have the background to succeed.
Question 3: Will high school students take AP CSP if it doesn't count for credit or placement?
Students take AP classes for a variety of reasons. My daughter is a high school senior, and she has been taking AP classes to demonstrate to college admissions officers that she can handle rigorous courses, but she is picking AP classes that she thinks are relevant to her college plans.
Some high school teachers have told me their students choose AP courses in order to decrease their future college costs. Taking equivalent classes at the high school level buys college credits at a lower cost.
Some high school teachers have told me their students choose AP courses in order to decrease their future college costs. High school AP classes are typically far cheaper than college classes. Taking equivalent classes at the high school level buys college credits at a lower cost. If the AP class has no college credit equivalent, it may be less attractive to the students who care about the credit or placement.
Action Item: Come up with an AP CSP Plan
U.S. college and university CS departments need to figure out their plans for how they will handle students who are admitted having passed the AP CS Principles exam. We need to be able to explain how AP CSP will count in our programs. In my institution, some possible options (like creating new classes, or getting other degree programs to offer credit for new classes) take a long lead time.
For students who care whether AP courses count for credit or placement, we should have answers for them soon, as they plan to register for the Fall 2016 school year. We need to be able to tell high school principals and teachers it is worthwhile to offer the course, and tell high school students it is worthwhile to take the course. The time to figure that out is now.
From the outset, I have liked the content of the Principles course.
But from the outset, I have raised the objection that Principles will be something of an orphan course because it is not and will not be an intro course in the CS major.
There was a time when all of this might have been worked out. Way back at SIGCSE 2011 in Dallas, there was a presentation on the not-yet-finished new version of the CS curriculum guidelines.
I argued then that the Powers That Be who were looking at curriculum in the universities ought to be figuring out where Principles might fit in, and the Principles people needed to be working with the curriculum people in order to negotiate a place.
Apparently that did not happen. The two groups seem to have followed independent paths. Did the Principles people get involved in Curricula 2013? Did they then get rebuffed? If so, on what basis?
I do not think it makes sense to say that higher education MUST change just because there is this new course. If change is necessary, then change should be justified based on educational merits that could have been argued years ago. I would like to hear the history of why the content of Principles did not make it into Curricula 2013.
You could have asked question 4: Why do university CS programs demand Calculus and Physics, but not CS at high school?
Duncan, higher education should take this as an opportunity. AP CS Principles is a good course. By giving some kind of credit or placement in higher education, we encourage more schools to offer AP CSP and encourage more students to take AP CSP, which gives us more and more diverse students in higher education. It is a good deal for us.
Andrew, if university CS programs were to demand CS at high school, we would accept very few students. For example, less than 10% of high schools in New York City offer any CS at all (see http://nyti.ms/1NGh8Xe) and less than 10% of high schools nationwide offer AP CS. I ask a different question, Andrew. Why aren't we requiring CS of all undergraduates? It is cheaper and easier to do than changing elementary and high schools, and leads to greater long-term change—see http://cacm.acm.org/blogs/blog-cacm/108448-if-you-want-high-school-cs-require-undergraduate-cs/fulltext.
©2016 ACM 0001-0782/16/02
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee. Request permission to publish from [email protected] or fax (212) 869-0481.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2016 ACM, Inc.