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.'"
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.
Tweet, tweet.
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.
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.
Find free books.
Actually, the MIT course has switched to Python.
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.
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.