Slashdot Mirror


College Board Kills AP Computer Science AB

jhealy1024 writes "The College Board recently announced it will be getting rid of the Advanced Placement Computer Science AB examination after May 2009. The 'A'-level exam will continue to be offered, though there is no word yet on what will become of the AB-level material (e.g., if it will be merged into A or just dropped). Many teachers of AP CS are upset about the move, as it seems the decision was made without consulting members of the CS teaching community. As one teacher put it: 'this is like telling the football coach next year is the last year you have a varsity team.'"

18 of 322 comments (clear)

  1. This is a shame by vsage3 · · Score: 5, Insightful

    I took computer science AB when I was in highschool and it was a great class if you looked past the god forsaken code project you had to modify that had something to do with fish. I learned all about algorithms, data structures and other important topics that I would not have gotten formal exposure to until, well, never because I didn't major in CS. One huge drawback is that it's taught in Java now, which is absolutely terrible for learning the fundamentals (I took it when it was C++)

    What is the biggest shame is this course was hugely popular in my tech-oriented highschool: Like 50 people took the AB exam every year out of my class of 120 or so. While I understand TCB is trying to cut the cost of making unpopular exams, keeping computer science A is a joke because AB wasn't all that fast and A doesn't even count for credit at my university; It's basically just a waste of time.

    1. Re:This is a shame by Wordplay · · Score: 4, Insightful

      Part of the problem is that with Java, you have to learn class/object semantics up front in order to be at all useful. This clouds the lessons of the fundamentals in ways that simple structured language semantics do not.

      Another part is that Java already has reasonable solutions in the standard libraries for any fundamental structure. This makes all work purely academic. This isn't necessarily a big deal, but can affect motivation.

      Also, understanding pointers and how memory is laid out is a pretty fundamental thing, wouldn't you say? If we lose that, then any mid- or low-level language becomes esoteric.

      I think it makes much more sense to teach starting at the mid-level (C, C++-without-classes, perhaps even a modern flavor of Basic or Pascal) then radiate outwards to both low-level (ASM) programming and higher-level (C#, Java, Delphi, etc.) languages, as well as to non-C-likes (LISP, Haskell, etc.).

    2. Re:This is a shame by Wordplay · · Score: 2, Insightful

      I didn't take AP CS--it wasn't available to me in the 80s, when I was in high school. I'm just speaking CS education in general.

      The same arguments apply for early undergrad courses, which have also moved towards Java in many schools (probably the real reason the AP courses have moved too).

      I do understand that you have to learn the algorithms, despite the presence of the standard libraries. I'm saying some of the impact is lost when you know there's a perfectly good built-in solution right over there.

      To be fair, the same is true for C++ and the STL, which is why I'm a fan of C for initial language learning. It's low-enough level that there's not a lot of functionality built in, but still reasonably platform-generic.

      Frankly, I still prefer (modern) Pascal over C. The readability factor is nice for teaching. However, it's so out of vogue now in the US (Delphi is still reasonably popular in Europe and Asia) that it's difficult to make a case for spending a lot of time in it.

    3. Re:This is a shame by plasticsquirrel · · Score: 5, Insightful

      Java is an object-oriented language. In any real object-oriented language, you need to learn about objects right away. C++ is a hybrid language that is arguably one of the worst languages for beginners to learn, since it takes the ugly details of C, and adds on half-baked OO ideas that are simply optional.

      A language such as Scheme will teach better program design, and teach high school students good program design from the start. The problem with teaching programming in high school, and even at the university level, is that students are often taught convoluted language semantics (every detail in C++) rather than program design and logical reasoning. Scheme is simple to the point that it can be picked up in a day or two, and then the rest of the class could focus on real problem-solving. This is the MIT approach, with their intro course (6.001).

      --
      Systemd: the PulseAudio of init systems
    4. Re:This is a shame by Wordplay · · Score: 2, Insightful

      Here's the thing:

      It's computer science, not applied programming. Those two things are different, but the latter has been sold as the former, more and more.

      I hear what you're saying, and you're making good arguments for Java as a beginning applied language. In my college days, it was VB that they used for that, for many of the same reasons (except there was no command line at all).

      However, I think a beginning computer science course should start at a somewhat lower level. It's important to understand the why and how, not just the what, and I think that should be introduced from the beginning.

    5. Re:This is a shame by Torvaun · · Score: 2, Insightful

      You forgot reverse engineering. Assembly is really the only decent way to do that, presuming you don't have the source.

      --
      I see your informative link, and raise you a pithy comment.
    6. Re:This is a shame by i.of.the.storm · · Score: 2, Insightful

      I'm saying some of the impact is lost when you know there's a perfectly good built-in solution right over there. Huh. As long as your teacher doesn't let you use the built-in classes until you've written your own, I think it doesn't really matter. And if you never find out about their existence until you've already written your own LinkedLists, Stacks, Trees, HashMaps, etc, you now have a perfectly working class to use for other things and know how the class works behind the scenes.
      --
      All your base are belong to Wii.
  2. HS Computer Science by Goobergunch · · Score: 2, Insightful

    I suspect that this decision won't help the current paucity of valid Computer Science courses in high schools. I'm still annoyed by the number of Microsoft Office or HTML courses that get passed off as CS. On the other hand, I guess it's possible that this could encourage more people to take APCS A (as there would be no real two-year commitment as there can be now), which would be a good thing. Hopefully some of the AB material can be folded into the new A course, as it would be a pity to lose AP-level high school instruction on big-O algorithmic analysis and data structures.

  3. Demographic reasons? by Goobergunch · · Score: 5, Insightful
    I found this in another article on the subject and thought it deserved mentioning:

    Mr. Packer said the decision was made principally because of demographic considerations.

    Only a tiny fraction of the members of underrepresented minority groups who take AP exams take the tests in one of those four affected subject areas, he said.

    The College Board has made it a priority to reach such students, including those who are African- American and Hispanic.
    I can understand the College Board wanting to concentrate their resources a bit more, but I still don't think that slashing the curriculum is the way to do it. Of course, maybe I'm biased -- my high school APCS courses were great and I don't think we got much of anything from the College Board in the way of support.
    1. Re:Demographic reasons? by thejuggler · · Score: 2, Insightful

      Why not encourage more African-American and Hispanics to take more CS courses? Then these courses will meet their educational objectives.

      Instead, their response is to punish those that wish to learn so they can look like they are helping minorities.

  4. Very Disturbing by twocows · · Score: 2, Insightful

    I'm currently enrolled in AP Computer Science AB, and I can say without a doubt it has been one of the most useful classes I've taken up to this point. I'm frustrated and confused at this news. I suppose the upside is that fewer computer science courses will conform to the strict Java-only curriculum, allowing for educations in other programming languages besides Java, such as C/C++. On the other hand, it may just mean less material is taught in high school computer science courses. If I had to guess which is more likely, I'd have to go with the latter.

  5. Re:Good! CS is a pseudo-subject anyway by Brian+Gordon · · Score: 1, Insightful

    bring mathematics under the umbrella of cs..

  6. Better than AP? by snkline · · Score: 2, Insightful

    Screw AP, here is how I got college credit early: Do well on your ACT (or SAT I guess, never had to take the SAT myself) to qualify for college substitution credits. Try to find out which courses at your local Community College will actually transfer to your preferred university. Apply with your high school and the CC to take those courses for high school credit. Upside: If you choose correctly, you probably only have community college classes two days a week, but only have to go to high school for half a day. Downside: You are probably going to school at night. If you don't pick the courses right, the best you can hope for on transferring credits is some sort of 1 credit in General Science 999999 which doesn't count towards credits for your degree...... (Seriously, I'm lucky I took a Fortran class in addition to my Object Oriented Programming class, since OOP turned out to be... Visual Basic)

  7. Re:other subjects, too by Anonymous Coward · · Score: 1, Insightful

    No, no. This is not the way admissions councils look at applications, especially not at competitive schools. Admissions councils look to see what opportunities available at your high school you have taken advantage of, and, for the supercompetitive colleges, to what extent you have gone beyond these opportunities. So, a kid in an inner-city school that offers no APs who took the most challenging courses that existed otherwise and did well in them would look much nicer to an admissions council that a kid in a prep school that offered 20 APs who only took two or three. They look at everything relatively, as they should. If you look at UCLA and UC-Berkeley, two flagship public colleges, you'll easily see a rather strong number of kids from poorer areas attending these schools, especially in comparison to private schools of similar prestige (even if they have spectacular financial aid packages). You mention Berkeley turns away students with 4.0 GPAs, but they still accept students with LOWER than 4.0 GPAs (provided they attend rather destitute schools and perform very well in them). It's analagous to, say, Princeton, that turns away a sizeable number of kids with a 2400 on their SAT, but accepts plenty of kids with a 2200 or 2100. The government is taxing people to provide education that is used by those same people, especially used moreso than the private schools. And they're getting the taxes mostly from people who are in a very good position to use this benefit anyway.

  8. Re:Other Courses were also cut. by Anonymous Coward · · Score: 1, Insightful

    Ugh. So many people need to be whacked over the head with the definition of discrimination. A lot of this "racial equality" stuff is discrimination. We shouldn't be striving for racial equality in the sense of forcing a uniform distribution of color. The whole idea of non-discrimination is that color doesn't matter!

  9. Re:AP Board is screwing up in more than one way by sitarah · · Score: 2, Insightful

    "Adding more steps to any program guarantees you'll lose some participants. Perhaps that's what the AP board intended with their new regs."

    No, the College Board introduced the AP Audit because some of their members, the colleges, said that they were seeing too many students with AP classes on their records that were completely half-assed and not even college prep level. The kids took the exam and consistently failed because the teachers were not teaching the exam topics, but labeling regular history as "AP History, take the exam if you feel like".

    This was troublesome for both kids and admissions counselors. They thought they were getting a college prep class and/or that they'd be able to score a 4 on the exam, and neither were true. Similarly, the college that admitted them thought that they were either not so smart for failing that AP exam or thought they had a much more rigorous high school career than they did.

  10. Re:other subjects, too by novakyu · · Score: 4, Insightful

    As a college teacher, I'm uncomfortable with the place that AP exams now occupy in our educational system. When I went to college, it was considered unusual to take AP exams, and nobody had ever heard of a GPA higher than 4.0. Now, with AP classes counting +1 on the GPA, Berkeley is turning away a sizable fraction of all students with 4.0 GPAs. Don't worry—on many college applications, they will simply renormalize the GPA down to 4.0 (I think UC Berkeley's application tells you to ignore extra weight placed on AP classes and scale "5.0" down to 4.0, but I could be remembering wrong—it's been years since I had to fill out an application for college).

    Also, some colleges will do something that's ... even better—i.e. they tell the student to re-scale their entire GPA, if the maximum grade point achievable is higher than 4.0. That should nicely backfire on those asshat schools offering "4.3" grade point for A+ or 5.0 grade point for the B.S. (and S. doesn't stand for "Science") that is AP.

    Frankly, the best investment I made in high school was taking a few lower-division science classes in community colleges. If you are in California, they are likely to be transferable to U.C. campuses, and, by jolly, you learn a lot more there than in these supposed "college-level" classes. Oh, and did I mention, that for many counties in California, attending community college classes might be free for high school students, unlike these overpriced worthless tests?
  11. Re: College Board Kills AP Computer Science AB by bitrunner · · Score: 2, Insightful

    Actually, I don't think it is a big loss. Don't get me wrong. I think it is great that high schools prepare students by learning them some computer skills. However, things I see is that freshmen, in a computer science course, lack the basic skills. They seem to have almost no skills when it comes to math, physics or even general problem solving skills. Heck most freshman can't even spell. (And when they spell something wrong it's not even done in a consistent way). Something else. It seems that students are taught things either wrong, out of context, or in the wrong context. That is really an obstacle, for the student AND a teacher in college. You won't believe how often the phrase "Well, than your computer science teacher in HS had it wrong" sentence is used in the first year in college. So if I would be asked, and actually that question was asked at the ACM SIGCSE meetings this spring, what it is students should be taught the answer would be: Math, geometry, how the solve 'logic' problems etc etc. I do think it is a good idea to teach HS students computer skills, focusing on that would help quite a bit. I don't mind that students are shown some simple programming 'things'. However you won't believe how many students do know how to wrongly create all kinds of code but are not able to copy a zip file from one drive to another and extract it in such a way that it results in an organized way of storing their lab and project work. The wrong 'programming' techniques we can usually fix but the lack of math, logic, geometry, science/physics etc is something that keeps haunting them all the way through college.