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.'"

14 of 322 comments (clear)

  1. Bright side by weston · · Score: 3, Interesting

    CS instructors at the high school level will have much broader latitude in what they teach. You could go a vocational route (say, Rails), or a different theoretical route (say, The Little Schemer).

    I also think it's possible that the contents of AB need to both go into A. It's been a long time since I took them both (1989), so things may be different, but my recollection is that the contents of A alone really weren't much beyond pragmatic familiarity with basic imperative programming, the kind of stuff that your basic "Teach Yourself X in Some Ridiculously Short Period of Time" book can actually teach you.

    That said, if what they're doing has the effect of dropping the study of data structures and algorithms from the high school curriculum -- if dropping B really means there will be less CS in the classroom -- then this is a really poor move.

  2. Re:This is a shame by jorghis · · Score: 4, Interesting

    I keep hearing people say things like "course X used to be in C++ and now its in java and thats bad". What exactly is it that is so great about C++ for learning fundamentals that you dont get in java? The only thing I can think of is understanding pointers and how memory is laid out. But that really falls outside the scope of algorithms and data structures which is what intro level CS is really all about.

  3. other subjects, too by bcrowell · · Score: 5, Interesting

    They also cut Italian, Latin literature, and French literature.

    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. In other words, you essentially can't get into the flagship schools of the UC system unless you have a lot of AP exams to puff up your grades. In one way this is good, because the old system encouraged kids not to take challenging coursework in high school. But a lot of rural and inner-city high schools don't offer AP courses, or don't offer more than one or two, or they offer them, but they're not at a high enough level to prepare you for the exams. There's something horribly wrong with a system of government that taxes working-class people in order to support public education, but effectively excludes their kids from getting the full benefit of the system they're supporting with their taxes.

    Looking over the contents of the CS exams, I can't help getting the impression that this is vocational education masquerading as something more academic. It all seems to be focused on the OOP fad, and on being able to code in Java. Stacks and queues are only covered on the AB, not the A level!?!? The hardware part seems pretty lightweight, and there's virtually no theory AFAICT.

    1. Re:other subjects, too by doktor-hladnjak · · Score: 2, Interesting

      High schools are all about selling students on this idea that taking AP exams will get them out of courses in college. It's true at most colleges, but not really the elite ones. I passed something like 9 AP exams in high school, which got me out of exactly 1 class at Berkeley. I only had to take one semester of writing instead of two. I could have skipped the first semester of calculus, but decided to retake it which looking back was probably a good thing. I graduated in the Letters and Science college ultimately (BA in CS), but I seem to vaguely recall that College of Engineering and College of Chemistry counted more AP classes. The main thing you get out of taking AP at Cal, is that you've already completed some units which can give you a slight registration preference after your first year. Also, it means you may be able to graduate early or just not worry as much about taking a full load every semester so that you can get to the 120 or so units required for graduation.

      Overall, I don't believe AP classes are really equivalent to the college courses they replace at any substantial university, but they're a much better use of a student's time that whatever non-AP class they'd be taking in high school instead. Generally, they have the more motivated teachers and students, which means less time wasted in classes with behavior problem students and lame teachers. With so many kids coming into college needing to take so many remedial courses, AP has really just become the new college prep.

      I've always viewed students getting credit for CS61B by the AP exam as a big loss though. There's just no way anybody who took AP CS in high school got the same rigor as CS61B at Cal. That said, I can see why students would rather bypass it and get on to advanced coursework more quickly. I taught that class as instructor of record in Summer 2004, so I admit I'm a bit biased.

  4. Re:This is a shame by TaliesinWI · · Score: 2, Interesting

    Or you could take AP Pascal, like I did in H.S. (Class of 1992). Problem is, they pretty much had to have the math teachers draw straws to see who got "stuck" with the ten brainiacs who took the course, and you also had stuff like "Pascal has bad string handling because it's a math language" (which isn't technically true) and then you find out that it doesn't have a built-in function for doing anything other than square or square root. You had to code your own exponent function, which wasn't a big deal, but it made you wonder why they bothered with a built in half-assed function in the first place.

    Also, we did it completely wrong IMHO. We learned the material that was on the A part of the exam for most of the year, which was basic structured programming, etc. Nothing out of the ordinary. Then, for the last MAYBE two weeks, we tried to learn what was on the B part, which was (mainly) stacks and pointers. For one thing, that was kind of bolted on to Pascal back in the day. For another, you can't really teach this "this is why you should care about this" in a mere two weeks. You can spit out a few examples in a vaccuum and hope that your students regurgitate them, but in our case that went so poorly that I think out of the ten of us in the class - all of which had 3.8 (unweighted) GPAs or higher, over half of us didn't bother taking the AB and of the other fraction of the class, only two of them got a 3 or higher on it, which was what the colleges wanted for credit. The rest of us (me included) were perfectly happy to "relearn" how pointers and stacks worked in a freshman college level C course.

    Problem is, that was right when OO was kind of taking off, and everyone and their fucking sister was trying to bolt OO philosophy into EVERY CS course, even when good old-fashioned procedural thinking would have been fine. So you weren't learning C, you were learning just enough C so they could teach you C++...

    Sometimes you just need a hammer and not a super-duper compressed nail gun.

  5. Re:Demographic reasons? by CSMatt · · Score: 2, Interesting

    Instead, their response is to punish those that wish to learn so they can look like they are helping minorities. Later in life they call this Affirmative Action.
  6. Re:This is a shame by mawillia · · Score: 2, Interesting
    Actually,

    Our AP CS class back in the 80's had nothing but 3 commodore pets and one MicroVax running some flavor of Unix (thank god!) tied to 12 VT-100s. We were living high on the hog.

    We spent the first 6 months learning first to hand assemble code for the Pets and program it using their built in screen based memory editor. We had to write simple multipliers/dividers, etc. It required learning about memory, registers, and basic ALU structures.

    Only after this point were we "graduated" to the MicroVax and were given the choice of working with C or Pascal. I'll tell you what: no-one complained about having to learn vi(1), and everyone appreciated the power of a good compiler and why higher order languages were wonderful inventions.

    To this day, that course was by far the most valuable class regarding computer programming I've ever taken. It really has provided me with a great deal of appreciation of what's already been done for me in terms of tools.

    I happen to work on embedded systems, with C++ when I can, C when I need to and assembly when nothing else will do. I've met a lot of college grads that just cannot work in the embedded world with nothing but Java courses from their college background. There's a lot of software out there running on OS's (or not) that don't provide run-times with built in garbage collection, etc.... I'm not sure that's such a bad thing...

  7. Re:This is a shame by Hemogoblin · · Score: 2, Interesting

    I also wrote that exam in C++, and I must have written it at the same time as you because we also had that fish case study. Ironically, my teacher didn't tell us about the case study until a week before the exam. Instead of working on the case during the semester, I spent 99% of my time creating my own text adventure. Making my own game was great, because I kept having to learn things so I could add more functionality. I don't think I ever learned any subject quite as well; it's amazing how motivated you can get if you enjoy the activity. In the end, missing out on the case study didn't hurt me, since they provided all the code for the case at the back of the exam anyway.

    Perhaps the exam is unpopular due to the way the course is taught. If I was forced to work on that case study all semester, I definately would not have learned as much as I did. Maybe the AP board needs to cut the exam, restructure the program so it's more fun and interesting, and then re-release it.

  8. On lack of consultation... by zkiwi34 · · Score: 2, Interesting

    It would appear they didn't even consult or even inform the group of people who prepare the curriculum and write the exams either. Clearly, they had already made up their mind to ditch it and didn't want to inconvenience themselves with a justification of it. Ah well, I guess AP/A will now tank, and districts will go "Hmmm, AP/A wasn't getting our kids any college advantage, and now there's just it to offer, so let's save ourselves some money and drop ComSci completely from our course offerings. After all, computers are expensive, where can you find teachers willing to do it etc etc blah blah." I guess the states or the federal government (yeah, it's not a realistic view) might want to take on setting up a decent 9-12th grade ComSci course sequence to make sure that ComSci teaching doesn't completely collapse in the US.

  9. Re:This is a shame by Eli+Gottlieb · · Score: 3, Interesting

    Actually, the MIT course has switched to Python.

  10. Good Riddance by Anonymous Coward · · Score: 1, Interesting

    I say it's great that they're killing that particular AP exam. All throughout my university years, any time I ran into another student that claimed to have received a 4 or 5 on either the CS A or CS AB exams, they invariably were absolutely terrible at doing such basics as determining the big-O of a function, or how operator precedence works, or how to use compiler error messages to track down syntax errors. You can keep the courses, but the only point to the exam is to try to skip out of the intro course in college, which IMO is a bad idea; want to skip out of the intro course, do it the same way you skip out of intro language courses, or math courses... take a placement exam based on the actual course(s) final exam(s).

  11. Re:Teams Without Trophies - or Competent Coaches by temojen · · Score: 3, Interesting

    Interestingly, my AP Chemistry Teacher was the gym teacher subbing for the chem teacher who moved to a new school. We taught him grade 12 chemistry so he could teach the next year, while we taught ourselves AP Chem (I got a 4).

    The previous semester, our Chem 12 class had pooled our money to hire a university professor for 3 hours 1 day a week, since that teacher was so bad.

  12. So whats the problem? by Anonymous Coward · · Score: 1, Interesting

    People really aren't interested in programming in the first case, and fewer and fewer companies really care to hire people who 'know computers' more than the very basic fundamentals. I don't believe we are in a 'programmer crisis, or that there is an 'I.T. worker shortage'. Its all just a big pile of steaming rubbish told by Bill Gates, because no one is interested in making him yet another billion dollars, while he pays them somewhere between scale and minimum wage. But its a common story. Why pay anyone in the first world to write software, when you can pay someone in the 3rd world two pennies on the dollar to do the job? Shipping software worldwide is much faster than any other kind of shipment, and no Kathy Lee Gifford problems happen with software. No one cares where it comes from, or what sweat shop made it. That the course is being dumped is no surprise, the only thing that made me raise my eyebrows is that its being done now. It should have been done 7 years ago.

  13. Re:This is a shame by mangastudent · · Score: 3, Interesting

    Actually, the MIT course has switched to Python.

    Except that most of what was in 6.001 will be taught in Java in the new 6.005, which for its type of material is Not Even Wrong.

    Even the AI course will be switched to Python. Very soon, the MIT EECS undergraduate curriculum will be entirely purged of Scheme/LISP, although due to some furious demand (especially outside of the department, since 6.001 is generally useful while the new introductory curriculum is strongly focused on both EE and CS) there is talk of a reduced, 3/4 size return of 6.001. Someday. Maybe.

    I've just received word that the Emperor has dissolved the MIT computer science program permanently.

    As a Chemistry major who was fortunate to take 6.001 about the last time Sussman gave it, I'm not sure what to think about the changes. Programming languages and the content of 6.001 are the only things that I find really interesting in CS, and I think it's hard to deny that we're in a Dark Age in this general area.

    And perhaps MIT is redefining what "CS" means in a good way, it's just not anything I'm very interested in, nor qualified to judge. Ableson and Sussman fully support the new curriculum BTW, and Hal has been heavily involved in the development of at least 6.01. Sussman has always believed introductory EE and CS should be taught together, and 6.01 and 6.02 most certainly do that.

    On the bright side, the new introductory course 6.01 (don't know if this is true about 6.02) is very instructor intensive, enough so that they are enlisting all interested upperclassmen to help in the labs and such, which I think is a very good thing; you don't tend to really learn your subject until you try to teach it.

    And with enrollment down so sharply, there are now likely enough professors and graduate students to support these new intense courses; MIT's historical practice of not allowing a fashionable department to get "too big" is once again validated (think of areo/astro in the '70s). The much lower enrollment is an opportunity to teach in a very different way, with more emphasis on building things, an MIT tradition from its founding.

    But it is safe to say that an MIT CS or CS focused degree (most students do the combined major that is heavy in both) will mean something very different in four years.