OFFICIAL 2012 AP Computer Science A Thread

<p>HxCKhaos, I just used the “moveTo” method to get it back to its original location and “setDirection” to set its direction…</p>

<p>What garfield said, but I’m still trying to tell you how canMove wouldn’t work in this case. It was used in bug to check if it can move forward, you need to make a customization of it to see if it can move to where it was before.</p>

<p>For those of you who declared it static, I did so as well for whatever reason. I also made a default constructor for the class, initializing original Location and Direction to standard null and 0 </p>

<p>o.O Bad?</p>

<p>Was getWeight() even used?</p>

<p>Congrats to everyone on getting through the exam. I’m an APCS reader, so I can try to answer some of your questions based on past experience. But before I begin, a couple of ground rules: </p>

<p>(a) I won’t see the questions until they go public on Thursday, so I can’t answer specific questions about specific problems (which you shouldn’t be asking until then, anyways).</p>

<p>(b) I won’t see the rubric for grading this year’s questions until June. So any answers I give about “how will this be scored” are my opinions only, and should be treated accordingly. I don’t speak for the College Board.</p>

<p>Okay, with the disclaimers over …</p>

<p>Most of the questions along the lines of “how much of a deduction is this error” will depend on the rubric … usually, there’s a clear place in the rubric to make a deduction for the problem. Loop bounds problems (one too many, one too few) usually end up being a 0.5-1.0 point deduction in the rubric. Getting ArrayLists/arrays confused can be a minor deduction (0.5 point) or much more serious, depending on how pervasive the problem is, and how the rubric is set up. (There will be a consistent answer developed in the rubric, or at the reading.) Usually, though, its a minor deduction. Static vs. non-static declarations will probably be 0.5-1.0 points in the rubric. </p>

<p>I realize that’s a little vague … in part, that depends on the rubric. The more features there are to be checked, the smaller number of points that are assigned to each feature. In a “simple” FRQ, a problem with loop bounds might be a full point deduction; in a “complicated” FRQ, the same problem might only be a half point.</p>

<p>Efficiency of the code is usually not an issue; if it works, it’s almost always eligible for full credit. The only exception is if you don’t invoke certain methods in the class (perhaps even methods you wrote in earlier parts) and rewrite them instead; the instructions at the beginning of the FRQ tell you that such code can be penalized. </p>

<p>Length of code is not an issue. There can be incredibly short one-line or two-line solutions that earn full credit on that part; there can also be incredibly long solutions that also earn full credit. Writing correct code in a timed setting is hard enough.</p>

<p>So … I’ll stop here … if you want to ask other <em>general</em> questions, I’ll be happy to offer my opinion …</p>

<p>Ok, arroza, I can only try to explain it one more time.</p>

<p>canMove checks to see if it can move forward. This is why we FIRST set the direction of the bug towards its original location. SECOND, call canMove(). THIRD move(). FOURTH setDirection(Original Direction).</p>

<p>This is as clear as I can make it.</p>

<p>I hope this is general enough…</p>

<p>The whole year, my APCOMP teacher has been practically shoving down our throats that we absolutely, cannot, ever, EVER, override the act() method. But everyone is talking about overriding the act method… I am confused :frowning: I ended up storing position/direction info whenever canMove() was called.</p>

<p>@HxCKhaos - You are just being very inefficient, but that WOULD work, unless I’m missing something. It would be just easier to use moveTo and setDirection, but College Board should take any solution as long as it meets the requirements.</p>

<p>hey for the FRQ section, is it “No” and “Yes” for the circling choice ones?</p>

<p>@killerskullz of course, but who has time to think of efficiency during an ap exam xP</p>

<p>@thisisthais - Same with my teacher, but in this situation, it was the most appropriate method to overwrite because it only resulted in 2 extra lines of code (setting the previousLoc to getLocation() and previousDir to getDirection(), then calling super.act() )</p>

<p>@HxCKhaos - My teacher has forced like 20 frq’s down our throats so I have gotten to a point where I can find the most efficient solution in under 10 minutes for the code lol. I was done with all 4 in 20 minutes haha.</p>

<p>when you call super.act(), it has to be at the top, right?</p>

<p>@Chronos - That’s what I hypothetically got… >.></p>

<p>@dblocks - No. The ONLY time the anything “super” related has to be the first line is in a constructor. So if I have a multi-line constructor in a class extending bug, the first line would HAVE to be super(); otherwise, you can call superclass methods at any time inside a subclass method</p>

<p>@jkhuggins
Hey thanks for your help!
I was wondering if points might be deducted if I used a for loop with break command inside instead of a while loop. And also what might be the curve for this year’s exam?</p>

<p>@killerskullz - Oh okay, thanks. Overriding canMove() ended being just two lines of code too, then calling super.canMove(). I’m coding what I wrote in Eclipse to see if it works.</p>

<p>@vtothez: Choice of loop structure isn’t an issue; it only matters whether or not it works. And the curve isn’t set until after the reading itself, when the statisticians at CollegeBoard can see how the problems end up scoring, especially in comparison with the college comparison groups, and with previous year exams.</p>

<p>Did anybody else use a for loop on the very first FRQ?</p>

<p>When I write a subclass, do I have to write a new constructor or does it by default inherit the constructors of the superclass? I thought the latter was true during the exam, but now I’m not so sure.</p>