• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

About the AP Programing Exam

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

JigPu

Inactive Pokémon Moderator
Joined
Jun 20, 2001
Location
Vancouver, WA
Grr.. I was going to take the AP programming class this semester, but the teacher dropped the class since there wern't enough people signed up, and he didn't want to deal with the AP stuff.

So, for those of you in the know, what was (or will it be) it like? I can't think of much they could test you on (beyond programming theory) unless they chose a specific language. What's it cover, and did I miss out on the world's easiest AP test :D

JigPu
 
The one this year was in C++. Next year its in Java.

A friend of mine took the AP exam in C++ yesterday, but all he really told me was that the proctor was on the phone the whole test :rolleyes:
Anyway, I'll find out the details from him tomorrow and post them.
 
This is the Friend of the Frog (aka Titan), I just took this year's AP test last Wednesday. I'm not sure wut exactly ur asking but i'll just tell you waht my test wuz like.

If you take the test next year, it won't be in c++ like mine was, it will be in Java. that should clear some confusion... U seem to think the test is just on general computer progamming lanuguage; its not. Its actually very specific and it will always be one, and only one language.

As for the type of questions... they are pretty specicifc also, Part 1 consists of 40 multiple choice questions which you have 75 minutes to complete. There are some questions that test your knowledge on the syntax, like how you should most of the time pass a vector by reference, and there are questions that require U to process varying segments of code. For example, there are a lot of instances where they will show you 1-3 functions of code, then they'll show you a call to the code with specific values (either variables, or actual values) and for the next 2 questions they will ask you things like, "Whats values are returned" or this code will NOT werk with which of the following occurences: "
They also test you ability to debug code by asking you locate where and error is in a segment of code. They may also ask what type of error it will be (runtime, overflow, etc.) and what you should do to fix it. They like asking groups of 1 or two questions based on portions of code. Another type of question you can gurantee seeing is the definition of two different classes followed by a questions asking how you should use them, which one is better for what, etc.
They also have a few questions where there is a function with a piece of code missing and you have choose the best line of code to accomplish the postcondition.

There are other types of code that you should know and understand, but don't have to know how to actually write, like binary search, merge sort, operator overloading, etc.

Part 2 free response was a 105 minutes that tests ur ability to write and manipulate code. There are 4 questions that each have at least 2 subparts (a, b) and possibly a C. On my test, I believe questions 1 and 2 gave me two classes. It was mostly writing member functions but there were some other tasks as well. The third question tested your ability to apply a pregiven class to maninpulate a matrix that kept a "map" of treasure. The forth questions (usually hardest, as the questions get more involved as you go on) required writing new member functions to classes int the Marine Biology Case Study (which we had to know for the test before hand, though Ur provided the .h and .cpp files on the exam), where you had to implement new features by appling what you already new.

That was basically the test I took (ap compsci A course). Whatever test you'll take later will be in a diferent language, but im sure the question style and test structure will be similar. YOu really need to practice a lot of specific coding to do well. Just knowing basic theory may get you through a question or two on the Multiple choice, but even that was pretty specific. The test itself is not too hard but you do need to know ur stuff :p
 
Last edited:
Thanks for the info :)

Sounds pretty comprehensive and in depth... I just wish I understood what some of the stuff you said ment :D In my 3 years of programming, my teacher has taught only about half of what it seems made it on the exam. But then again, he's not teaching the class for the exam :D

So do diffrent CS classes take the class each year? I mean, if you don't know Java, I wouldn't expect for you to get up to the AP level in just a year of programming... So then do all the high Java classes take it next year, and then the year after, all the high XXX classes take it? Kinda confusing, but it seems like it makes sure you know your stuff in that specific language :)


...Mabey I should buy a book on C++. That way I'll understand things I've heard of a lot, but have never had explained (like overloading and matricies).

JigPu
 
JigPu said:
So do diffrent CS classes take the class each year? I mean, if you don't know Java, I wouldn't expect for you to get up to the AP level in just a year of programming... So then do all the high Java classes take it next year, and then the year after, all the high XXX classes take it? Kinda confusing, but it seems like it makes sure you know your stuff in that specific language :)

I'll tell you how its done in my school. I'm a year behind my friend who told you about the C++ test, so I'm currently in a class in Java. We will take the AP test in Java next year.

From what I hear, the AP class moves quicker than the regular class, but there is nothing to stop you from taking the AP course in Java, if you've taken the regular course last year, in which case it would have been in C++. In other words, they start at "Hello World" at the beginning of the year and you work up from there, even in the AP class.
 
I just took the AP Computer Science AB test last Wednesday. Basically, the Part I tests general knowledge of programming ideas, using the language that was taught (for you next year will be java). So it will ask you simple programming idea questions, then ask questions involving code samples (this is for the A test). For the AB test, it is much more involved. Almost all questions have code samples, or descriptions of algorithms. Part II asks you to write algorithms that perform a task, given some previous information and classes. 5 questions in Part I will involve a case study (mine was the Marine Biology case study, and before that was the Big Int case study. Yours will most likely be different). And one question in Part II involves the case study. I personally found the test to be a trivial test of my knowledge of programming, but it will get me four credit hours where I want to go (I can start one semester ahead in Comp Sci, my intended major, along with Electrical Engineering). The classes that were a must know (and where taught) for the AP test were apstring, apvector, and apmatrix. For tha AB, add on apstack and apqueue. Both tests involved normal algorithms, and recursive algorithms. The AB tests expands to include Linked Lists, Binary Trees, stacks, queues, and Hashing (That is twice the information). Part I of the AB focussed heavily on Binary Trees, and Linked Lists. If you want to take a look at the curriculum, here is the College Boards direct info: http://www.collegeboard.com/ap/students/compsci/ . I am going to be taking the course again next year, just to say I took the java test also. The java test will be thousands of times easier than the C++ test, because java handled basically everything. I think that it is a stupid idea to move to java, because java holds your hand all the way through. C++ forces you to learn a majority of the things that will help you later on. Java has garbage collection, yes it's a nice feature, but doesn't force you to learn memory management. Learning Linked Lists and Binary Trees in C++ or C force you to take note of memory usage. Hope this helps, and good luck.
 
You should take AP Comp Sci test. Next year its java, so if youre not taking a class (which it seems like youre not), youre gonna need a book. A good website is here: www.skylit.com . To actually know java, rent/buy/borrow their book (which is ok, i heard) - i think its called java methods. Anyway, after youve got java down - youll need to decide whether you need to take the A or AB test. I took the A since thats what my course offered and i was too lazy to study more. According to statistics, about 35% of the people taking the AB test get a 5. Also, many colleges dont even look at the A. I'd recommend taking the AB. Anyway... after youve choose - just buy the Barrons and Skylit books. If you do all the tests there and know EVERYTHING in those books, youll do better than great. And you can even attempt to solve some C++ free response questions from collegeboard.com.

So all you really need is: textbook (java methods), ap practice books (barrons and the sky lit by maria litvin). If you know *about* everything in the last two books, youll be fine.

I prepared so much for the exam and it turned out a lot easier than i imagined it to be. Even if you get 8 wrong, you can still get a 5. (And im only sure of 1 that i got wrong). The free response questions were pretty easy too. Of course, this is the A test - but the AB shouldnt be much different.

EDIT: I dunno if there is a barrons book for java... I guess youll have to deal with just the skylit one.
 
Back