<p>I've recently decided to self-study for the AP Comp Sci A exam (school doesn't offer a course). Since I have little programming experience, I'm looking for a great, easy to read programming textbook that teaches everything I need to know from the very beginning. Is it better to buy a textbook written specifically for the AP exam or can I just get any general textbook?</p>
<p>Personally our class uses Big Java and I find it very simple to read and easy to understand. I would recommend that with Barrons AP Review book. Self-study using that and you should be guaranteed at least a 4, if you study them thoroughly.</p>
<p>You definitely want to use AP specific resources. The Java language and framework is vast. AP Computer science test only covers a specific subset of the java language. I do like the Barrons book but you need to know that the APCS A exam this year will be more difficult as they have added more topics. I have a listing of them here: [AP</a> Computer Science A Topics.](<a href=“http://www.hscompsci.com%5DAP”>http://www.hscompsci.com)</p>
<p>Buy an AP-specific textbook. Like previously stated, Java is a massive language, whereas the exam only requires what I thought to be a very rudimentary understanding. </p>
<p>You should be able to easily self-study it. In addition to Java (which I learned in a class), I taught myself a good amount of C++ and Perl, and it wasn’t too time-consuming.</p>
<p>Barrons alone is enough I think.
I used it last year (without an actual textbook) to self study CompSci AB (5) so I’m pretty sure it’s good enough for Computer Science A</p>
<p>The only thing I’d like to add is that if you are not taking a class, that the Barron’s book does NOT have the new changes to the “A” exam this year. I’m teaching an online class this year and have not seen any book that’s been updated. I’ve had my students post an explanation of the changes here: [Changes</a> on the 2010 APCS A Exam](<a href=“http://www.hscompsci.com/component/content/article/1-programmingcategoryalias/14-new-type-of-question-for-apcs-a-exam.html]Changes”>http://www.hscompsci.com/component/content/article/1-programmingcategoryalias/14-new-type-of-question-for-apcs-a-exam.html). </p>
<p>The College Board killed the tougher “AB” test but they are putting some of “AB” topics into the “A” exam. Also know that unlike most comments on the boards here, the test is anything but easy. Roughly 40% of all test takers flunk the “A” exam each year. [This</a> year the “A” test will be the most difficult in 20 years.](<a href=“http://www.hscompsci.com/component/content/article/1-programmingcategoryalias/16-is-the-apcs-exam-easy-no.html]This”>http://www.hscompsci.com/component/content/article/1-programmingcategoryalias/16-is-the-apcs-exam-easy-no.html) :(</p>
<p>The new Barrons AP CS book claims to reflect the changes to the A test. Its release date is tomorrow. So that may be the book to get at this point.</p>
<p>
</p>
<p>That’s mostly due to the fact that people regard the test with the mentality that it will most likely yield an easy 5, after all, isn’t computer science just writing a bunch of words? What they don’t realize however is the rational abstraction of mathematics embedded within, so most people do well on the terminology section, some even on the reasoning portion within the multiple choice, but only those with a mathematically sound mind are able to come up with elegant algorithms needed for the free response.</p>
<p>As long as you are mathematically curious, go ahead, it’s much better to self study and find an interest in this field.</p>
<p>Oh, also, college board butchered the Compsci AP by almost completely ignoring the generalized computer science concepts, leaving behind a bunch of language specific material that do not actually apply to many other industry level languages. (For god’s sake, they even make it sound as if non-OO styled languages are useless)</p>
<p>To be fair, making non-OO languages sound useless is a common failing of many computer science courses. And thinking that quirks of C-derived syntax are in fact important concepts is a common failing of people who program in C-derived languages.</p>