How Do We Make AP CS Better?

CSTA has been invited by the College Board to take part in a review of the Advanced Placement Computer Science curriculum and we would like your guidance on how it might be improved.
In order to keep all of its subject area curricula current, the College Board conducts regular reviews of all of its AP curricula. To do this, it forms a committee of experts from various educational levels within each academic discipline to examine the curriculum carefully and put forward any recommendations for change.
Of course, the process is not a simple one. There is the issue of ensuring the curriculum is sufficiently rigorous as to justify the awarding of college-level credit to students who successfully pass the exam. There is also the concern with ensuring that the exam answers can be fairly and consistently assessed.
There are also much deeper questions to be answered. Does the curriculum cover the appropriate content? Is it well-focused, consistent, and rigorous? Does it provide a balanced view of the discipline? Does it encourage good students to view the discipline in a positive but realistic way?
These are some of the questions that we need to consider very carefully as a community.
At this point, a rant against the AP CS curriculum is really not very helpful. What we need are your practical suggestions for making it better. We cannot promise that we can make it so, but we believe that good things will happen when we bring the collected wisdom of our CSTA community to this task.
So tell us what you think! How can the AP CS curriculum be improved?
Chris Stephenson
CSTA Executive Director

3 thoughts on “How Do We Make AP CS Better?

  1. Four Points:
    1. Idealy, someone who knows computer science would know it in a language independant way, but that is not realistic for an entry level college course even though several schools are trying to teach it this way.
    If you accept, as I do, that there needs to be a language actually taught to beginning level students, then there will forever be the question of what language, and the counter question, is that other language better?
    2. Rather than jumping from language to language, APCS needs to commit to a language for a minimum number of years so the teachers can get comfortable in it. I was just getting good at C++ when the switch to Java came. Now that I am feeling OK in Java, I am looking over my shoulder to see what’s on the horizon. It is not a comfortable feeling, especially as I see more and more universities (but not all, by any means) pulling back from Java as a first year course.
    3. I like many things about APCS. I like how it has given me a community, as has CSTA, of colleagues to listen to and bounce ideas off of. I like how APCS acts as a single to the colleges and the universities. I don’t like how we the teachers don’t always hear about the discussions about the changes that are contemplated until they are made, so I really like that this discussion is taking place.
    4. On a concrete level, I think the A test should cover two dimensional arrays. I think some of the graphics libraries should be included in the test, as when did you last see a command line program? It could all be on the multiple choice part, if necessary, but somewhere someone should be assured that a student who gets a 4 or a 5 can handle a JPanel or a JButton.

  2. I’m rather amazed that there are not more comments here. To me this is one of the major issues of high school computer science today.
    My thought would be to start with a list of the major/important concepts that people believe should/must be in a first course. These must then be prioritized. Then you can have a discussion about how long it takes to each each and where teachers will run out of time. We’ll probably wind up leaving out someone’s pet concept but there is limited time available.
    I also think we need to think about these concepts in a different way. We need to focus on the ones that are most constant. I know that the only real constant in CS is change but to a real extent somethings will always be with us – Boolean expressions and decision structures, loops, math operations and their order, and things like that. We need to lower the priority on the tricky, fun to have latest fad stuff. No I’m not going to name one of those just now. :-) Where does recursion fit in? I think we need a good discussion about that. I love it but is it really core? Arguments can be made either way. We haven’t always had it in out mainstram langauges.
    We need to revisit the case study. While I love the idea of students reading and knowing a large piece of code is the first course really the place for it? I don’t think so. I would rather they spend time reading a lot of shorter (but still well-written) pieces of code.
    I think we need to revisit the idea of a mandated language for the exam. Yes I know all the arguements for it. I’ve been listening to them for years. But at the same time it just seems like it fosters an attitude where we look at the language for things to test rather than looking for things to test and then look for what languages to use.

  3. I’d like to start by mentioning that I’m actually a student (who attends a school that doesn’t offer APCS, but I took the exam and think I passed) and not a teacher.
    However, I’d have to say I agree with alot of the comments written out here. I chuckled a bit at the recursion comment because the same thoughts ran through my mind (albeit with some stronger language, it was the night before the exam) when I learned about the concept. On the other hand, these fads are very important, because college professors seem to love this kind of stuff. While the argument can be made that these nooks and crannys of the language should take the backseat to more important aspects of Computer Science, it would be a shame if an APCS student skipped their first Computer Science class only to be jumped by a concept like that.
    I think the class should actually be tougher on the Case Study. I hardly spent any time with it, but was able to answer all of the multiple choice and the one free-response concerning it. I can’t divulge to you any information regarding any of the questions I encountered, but I do feel that hypothetically a student could spend a 40 minute bus ride reading about Grid World and still do well on the questions regarding it.

Leave a Reply