<p>3-4 years? That’s actually longer than me, I only have 2 years of Java experience (I did say 5 years total, but that included other languages).</p>
<p>Just a note, I’m also mostly self-taught, but I’ve been working on my own projects for several years. I would attribute that kind of hands-on experience to the reason why people think I’m a good programmer (though I still think I know almost nothing compared to the people who actually have programming jobs). And this observation has been true pretty much across the board from what I’ve seen: the people who actually use programming in practical situations and not just for a class or exam are the ones who do really well. It could not be truer for the AP exam.</p>
<p>Reason being: No one really ever knows everything. So the best programmers are those who learn quickly and make use of their learned knowledge well. Hence the reason why sites like Stack Overflow exist.</p>
<p>Just make sure you never fall into the trap of thinking that you’ve learned all there is. Learning never stops with computers.</p>
<p>Also, I recommend you check out TopCoder; they run programming contests (the algorithmic SRMs - you can also do problems from old contests). I would say if you can solve the medium-difficulty problem or even the easy-difficulty problem in one of those, you’re in very good shape for the AP. They also make very good practice for other algorithmic contests (which I see the ZCO is). The time zones never worked out for me but I still found them very fun to do when I did participate.</p>
<p>I think we might have a lot in common . I’m largely self taught, as left to my own devices, I’d rather program things, than say, get social on facebook. My friend qualified for INOI which tested various programming techniques, ranging from Dynamic Programming, to Search/Sort Algorithms in C++ and an insane amount of Graph Theory. I have the materials required for competing in the Competition, but most people are just better than me.</p>
<p>Uhh I, on the other hand, have very little experience with programming. And I’m not so sure how I’m going to do on the free response. Is there anything I can do? I even find it difficult to make my way through the scoring guidelines because usually I see examples or things are more clearly written out. I think I’m doomed :(</p>
<p>If you have trouble grading your FRQs, just post them here and I can grade them myself + explain what was right/wrong.
Even though the questions and scoring rubric might be hard to understand, you still really need to do them and practice to do well on the AP</p>
<p>Sent from my GT-N7100 using Tapatalk 2</p>
<p>@chilldude Just extracted the files after coming back from the chem tuts. Really, the wealth of materials I found in the package astounded me!
Thanks!</p>
<p>i have been practicing frq’s and mc’s for a couple weeks; i am lucky to have a great teacher.</p>
<p>thanks chilldude for the great info and resources.</p>
<p>one question: we wont have to write recursive methods, right? i understand them and can follow them, but i am not too good at writing them.</p>
<p>Correct. You’re not required to write recursive methods for the FRQs. You may write recursively, if you choose to do so; the answer is scored on correctness, not whether or not you used recursion.</p>
<p>@ jkhuggins Whoo! I’m so ecstatic at the news!</p>
<p>I think recursion only shows up on max 3 questions of the MCs.
Still, make sure you understand it, I seem to remember doing a FRQ once that required recursion (it wasn’t on the actual exam but it was on an old one)… just in case</p>
<p>Yes, you can be required to read and understand recursive routines on the MC problems. You just can’t be required to use recursion on the FRQs — and while you can use them on the FRQs if you want, the “natural” solution to the FRQs won’t require recursion.</p>
<p>Okay, so for anyone else stumbling upon this thread, I’ve moved all my AP stuff to this link.</p>
<p>[Google</a> Drive](<a href=“http://■■■■■■/kv4iC]Google”>http://■■■■■■/kv4iC)</p>
<p>I hit the 20GB/day cap on Dropbox and so I’ve moved everything to Google Drive, where there isn’t a bandwidth limitation.</p>
<p>My PowerPoints/course materials for APCS are in that folder as well.</p>
<p>Sorry, I know outer classes like Scanner or Random are not recommended, but what about labels? I say this because it somewhat made me twitch to see “return;” to break a loop within a void method.</p>
<p>Also, can anyone confirm that the Barron’s book (I have the 6th edition) is harder than the actual exam, based on previous editions? If so, by how much?</p>
<p>Using return in a loop is perfectly acceptable depending on the context.</p>
<p>Dear god DO NOT USE LABELS. I cannot emphasize this strongly enough. It’s just bad programming practice in general, and while there are very rare occasions where using one is warranted, if you can avoid using them you should. Labels/gotos create spaghetti code, named as such because it quickly becomes an unstructured mess (hence spaghetti).</p>
<p>Barron’s is harder. Not sure by how much though</p>
<p>Ah, I’ve always been used to labelling loops (at least only when there’s a single nested loop) and not null return statements - perhaps because it was relentlessly drilled into my head whilst studying for my Java certification.</p>
<p>After looking over the sample questions on the CollegeBoard website again, it actually does seem Barron’s is a wee tiny bit harder than the actual exam. Phew.</p>
<p>How hard is this course, and would it be possible to self-study or read a prep book in case I have a teacher that doesn’t actually know anything or teach?</p>
<p>The difficulty with the course (in my opinion, that is) lies within actually getting the programming mindset, being able to write, at the very least, a few lines of code and read them accordingly. Then of course, there is the OOP design and planning out the program, but that shouldn’t be as hard.</p>
<p>^ This is my opinion from how I learned to program a few years ago.</p>
<p>@Quarking: if you’ve ever programmed a TI-83 series graphing calculator in BASIC you’ll know that using Lbl/Goto is a bad idea to break out of a loop due to memory leaks. Plus it makes it really hard to edit your code.
Memory leaks shouldn’t happen when using branching in Java, but having to follow all those labels everywhere makes editing/debugging code a pain (especially in the real world where you’re dealing with 1000s of lines of code at a time).</p>
<p>@squirelly: This is not a class you can self-study for using only a prep book. The hardest part is, like Quarking said, getting into the programming mindset. This is why I maintain that APCS can be one of the hardest APs if you don’t have prior experience and/or a good teacher. That mindset has to be developed early on, or you’ll be struggling throughout trying to grasp what recursion, interfaces, and return types are, for example.</p>
<p>The OOP design part of it is only really relevant on the FRQs, and usually they structure it so that there isn’t too much design you need to do for those. Otherwise, I agree completely with Quarking</p>
<p>How much do we need to know about the grid interface, the abstractgrid class, the boundedgrid class, and the unboundedgrid class for gridworld?</p>
<p>The MC is so hard. Is there anything I can do besides practicing a ton of them?</p>
<p>@DaneBrick: I don’t recall specifically. UnboundedGrid you don’t need to know (I think that was an AB topic before 2009). Grid is the one you really need to know. BoundedGrid and AbstractGrid implement Grid, so the methods will all do the same stuff.</p>
<p>@FromNorCal: what kinds of MC do you find you miss a lot? Identify those and review those topics. If it has to do with finding the output of code, nothing to do but practice.</p>