![Education Education](http://a.fsdn.com/sd/topics/education_64.png)
![Programming Programming](http://a.fsdn.com/sd/topics/programming_64.png)
![IT IT](http://a.fsdn.com/sd/topics/it_64.png)
![Technology Technology](http://a.fsdn.com/sd/topics/technology_64.png)
College Board Kills AP Computer Science AB 322
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.'"
Waving the white flag (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
You don't need advanced skills to flip burgers.
You do need them to program the burger flipping machines of tomorrow.
So get cracking and "Welcome to the world of the FUTURE!"
Re: (Score:2)
Without AB? (Score:3, Funny)
Re: (Score:3, Funny)
Re:Without AB? (Score:5, Funny)
Re: (Score:3, Informative)
Without ab, I'd just be normal.
ab-normal?
IT'S FUNNY, LAUGH!
Re: (Score:2)
Re: (Score:2, Informative)
This is a shame (Score:5, Insightful)
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.
Re:This is a shame (Score:5, Interesting)
Re:This is a shame (Score:5, Insightful)
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.).
Re: (Score:2, Interesting)
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 MicroVa
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Exactly! Even in Java, if you don't understand the difference between duplicating an object vs. operating on a reference, your code could easily be really slow (because you're making 10,000 copies when you don't need to) or wrong (because you're overwriting data and don't realize it). Paying attention to memory is important!
Re: (Score:3, Insightful)
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
Re: (Score:3, Interesting)
Re: (Score:2)
In that time period, you would've been using Turbo Pascal, probably TP6. It would've actually been fine for what you were learning (the pointer/memory model was pretty much taken straight from C) if they'd paced it better.
I agree, re: bolting on OOP to everything. I'm big on OOP, but I think you need some time without it to see what the optimal uses really are.
Re: (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.
Re: (Score:2)
Re: (Score:2)
Generally, though, I agree with you. Practically, writing in assembly or doing anything similarly low-level is likely to be less efficient than trusting the compiler.
However, I still t
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
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
Re: (Score:2)
After that, you branched into the more esoteric or higher-level languages including, at the time, the just-emerging Java.
Re: (Score:2)
You're right. Understanding basic memory management is not within the scope of algorithms and data structures -- it's a prerequisite for it. Imagine trying to write a linked list class -- a pretty basic type of data structure -- without fully understanding how to free up memory.
Re: (Score:2)
Now, if they were making this list in Java, I don't really think they'd have much of a problem...
I took AP CS AB the first year it switched to being taught in Java, my initial college CS course wa
Re: (Score:2)
They might and they might not. If they learn in Java, and things are cleaned up for the, they will not learn ( except on the job ) about how to do that clean up. If they end up in a C++ type environment, they will do poorly, at least for a while. If they learn in C++, they will learn to clean up, continuing in C++ will not be a difficulty, transitioning to Java will not be as traumatic as the other transition.
It's not hard to imagine (Score:2)
The particulars of memory management can be worth studying, but mastering them is not a prerequisite to understanding algorithms and data structures. Sometimes you care what happens to memory you're done with, sometimes you don't. A problem with non-garbage-collecting languages like C is that, whether or not you care, it's still your problem.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
With C++ they have the option of building classes the old way, with structs and manual management of all pointers, or they can start to work on classes, and templates of classes, and with Managed C++, awful as it looks, they can even toy with more general stuff as they implement garbage collection and other concepts.
That path allows them to
Re:This is a shame (Score:5, Insightful)
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).
Re: (Score:2)
Re: (Score:3, Interesting)
Re:This is a shame (Score:4, Interesting)
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. [xkcd.com]
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.
Re: (Score:2)
My school didn't even offer a computer science A class. I suppose you could've taken the normal (AB) class and then sat for the A exam, but I don't think I knew anyone who did that. At my college, a 4 or 5 on the AB exam gets you out of jus
How about Pascal? (Score:2)
Re: (Score:3, Interesting)
Re: (Score:2)
Part of the problem (Score:2)
I'd love to see the per year increase-decrease stats across all the AP subjects. It would be interesting to see if it correlates to the apparent decline in the sciences across the US.
Really? (Score:3, Informative)
When I finally took it (A, in Grade 11) it was taught as a combined A/AB class by the school's Director of Technology. It wasn't as formalized a most classes - we simply took over the computer lab and its whiteboards for our classroom - but it was small, intense, and with a smart group of people. We finished the AP spec about halfway through the year, so for the second half we just did a bunch of code
Bright side (Score:4, Interesting)
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.
Re: (Score:2)
HS Computer Science (Score:2, Insightful)
Demographic reasons? (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
Instead, their response is to punish those that wish to learn so they can look like they are helping minorities.
Re: (Score:2, Interesting)
Re: (Score:2)
This looks like a pretty thinly veiled attempt to "juke the stats" and save some money at the same time. They don't have to administer a few relatively unpopular exams, and they get to claim an improvement in demographic equality.
This seems to be the direction of United States education as a whole. In the quest for "equality," the solution seems to be to just lower standards and opportunities across the board
I took AP CS A (Score:5, Informative)
I skipped it and the next step up was extremely easy. When I was writing my review of that class I told them I could have learned almost everything they taught me in that semester in a week.
Just goes to show what trash the grader was on the AP test. They probably thought all of my lower case 'j's were 'i's, and probably marked me down for declaring new variables anywhere but the beginning of the function. To put it in perspective, a 3 is supposed to be the same as a C in college, yet I went through college never getting a C in anything and getting predominately A's and B+s in most CS classes- even the ones with a 90% failure/drop-out rate.
Part of it is that the teacher of my AP class, a female cheerleading coach (no kidding), was a decent teacher and could get you to learn a concept like new data structures or pointers in 20 minutes.
Re: (Score:2)
Re: (Score:2)
I took the AB exam when it was in C++ and somehow managed a 5, even though I swear I couldn't even read the code I was scrawling. My handwriting was terrible, and on top of that our class hadn't finished studying the material. Our class was a joke, and we spent most of our time playing games. During the exam, I had a headache from all the iteration I was trying to work through in my head, I'm pretty sure I misunderstood some of the questions. I really don't think I penned syntactically correct code at all. Maybe if the exam were graded in pseudo-code it would have been correct algorithmically. Perhaps the grader, seeing my handwriting and not wanting to slog through the mess, just gave me the benefit of the doubt and marked it 5.
This, combined with your experience, points to maybe some serious irregularities with the College Board's grading system.
Or maybe there are other explanations. Perhaps they gave me the wrong person's score. Sigh.
I took the AB exam two years ago, when it was in Java, and got a 5, despite spending 45 minutes reading the fish thingy we were supposed to read ahead of time, and not having time to fill in in a bit more than half the answers (I don't like filling them in while I'm answering questions, so I just mark them, then go back and fill them in later).
I think the grading system just varies a bit from year to year.
Re:I took AP CS A (Score:4, Funny)
Push to the left!
Push to the right!
Pop up, push down
Byte, byte byte!
Very Disturbing (Score:2, Insightful)
other subjects, too (Score:5, Interesting)
They also cut [edweek.org] 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 [wikipedia.org] 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.
Re: (Score:2)
The counselors and universities claim that they take these differences into account and scale the GPA accordingly, but I'm skeptical. That first impression of seeing the reported number counts for a lot, I
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
Re: (Score:3)
Berkeley will take almost all AP exam scores for credit, provided you get the minimum score. I found AP courses to be nothing like the level of college courses, save for straightforward things like calculus and history, where the material (IMO) is generally the same everywhere. Most of the AP courses just counted toward units; I had junior standing after my first semester. Si
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re:other subjects, too (Score:5, Insightful)
Also, some colleges will do something that's
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?
Re: (Score:2)
At least around here, even the lousiest districts and schools offer some form of +1 GPA modifier for advanced classes of some sort. I've also seen many college applica
Re:other subjects, too (Score:4, Informative)
I just recently realized I would have finished a few places higher in my HS class if I had dropped band and jazz band... I was apparently not sophisticated enough to think about optimizing my GPA. I like to think I ended up with more scholarships than most of the rest of my class because I was well rounded
Re: (Score:2)
BYR, IS.
Re: (Score:2)
WTF? (Score:2)
In an era of increasing computation fluency amongst high schoolers, it seems
Re: (Score:2)
As much as peopl eare more and more computer fluent, anything beyond using a word processor and MySpace is still voodoo to most.
Re:WTF? (Score:5, Funny)
I do know that the buttons were changed when I responded to an admin. He, for some reason, didnt like my signature
Other Courses were also cut. (Score:3, Informative)
The article also mentions the possibility, in the context of the Italian course, of the program being continued if a sponsor could be found. Perhaps Mr. W. Gates and the other hi-tech moguls who are always bemoaning the lack of US workers, and crying for more H1 visas, could pony up a few bucks to support the CS course. I'm sure it would be chump change for Bill.
Re: (Score:2)
I took CS AB instead of Latin Literature my senior year. I actually kinda regret that, since being able to skip an intro CS course was hardly worth the foregone intellectual enrichment.
I continue to see people piss all over the classics, and I am saddened and angered. Show some fucking respect for the civilizations which formed the basis for your own!
Re: (Score:2)
While this is all framed as part of the College Board's efforts to reach out to minorities, I'm not sure that simply removing the courses that fewer minorities take is any kind of real answer. Scratch that, I'm entirely sure that it's not. This just seems like an effort to skew the statistics to show more equality than really exists. Treating the symptom
Re: (Score:2)
Re:Other Courses were also cut. (Score:5, Informative)
It looks like there were plenty of students, just not enough of the right color.
Teams Without Trophies - or Competent Coaches (Score:4, Funny)
No, it's like telling the football coach that next year is the last year there will be trophies awarded at the championship game. They can still have a team, there just won't be an official ranking.
Of course the AP test credit is a lot of the value of the programme, so cancelling the test is a travesty, and might be a reason to cancel the course, especially if students spend their time taking other courses that award the credit they can use.
But if the teachers are making that kind of analogy, they shouldn't be teaching. Not even CS classes, because thinking with analogies is more important to programming than is instruction in language syntax. It's like a football team with a coach who's really just the second-string halfback.
Re:Teams Without Trophies - or Competent Coaches (Score:5, Funny)
Re: (Score:2)
Re:Teams Without Trophies - or Competent Coaches (Score:4, Interesting)
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.
AP Classes in Inner-City Schools (Score:2, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Better than AP? (Score:3, Insightful)
AP Board is screwing up in more than one way (Score:5, Informative)
A year ago, the science department almost gave in when the AP organization required each teacher to explain in detail how they met the AP curricula requirements. That added another teacher work day to an already harried schedule. She typically works late into the night grading work and the last thing she wanted to do was to spend an extra unpaid work day justifying her course to the AP organization. She figured it was enough that her average student AP score is 4.8 - the hell with how she does it.
Adding more steps to any program guarantees you'll lose some participants. Perhaps that's what the AP board intended with their new regs.
Re: (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
On lack of consultation... (Score:2, Interesting)
Re: (Score:2, Insightful)
Re: (Score:3, Informative)
A number of the tests are offered at different difficulties, including Computer Science [wikipedia.org] with the A and AB levels, and Calculus [wikipedia.org] with AB and BC levels.
The College Board has announced that they're dropping four tests, three language tests plus the AB
Re: (Score:2)
I always read this, but at least here in NE Ohio it isn't true. Many of the better suburban schools
Re: (Score:2, Funny)
Re:GOD CREATED ADAM AND EVE (Score:4, Funny)
Re: (Score:2, Funny)
Re: (Score:2)
Study. What you need is to study something useful.
Re: (Score:2)