*** OFFICIAL 2013 AP Computer Science A Thread***

<p>@redneys, Don’t worry! Graders really only take points off if you disobey anything they specifically told you to do during their code(like not using a method in a previous part like using the method written for part a), write very inefficient code, or repeatedly make the same mistake over and over in your code. I think you’ll get a 5, the curve was 62-80 I think last year and if say for example you got a 33 on the MC and a 31+ on the FRQ, then that’s just enough for a 5!</p>

<p>If you did the same on the FRQ, you would probably get a 5. The graders are usually lenient (they don’t take of for stuff like missing semicolons, parentheses, etc.). However, code that could like to Null-Pointer exceptions, throw ArrayIndexOutOfBoundsExceptions, violate Critter post-conditions, etc. would receive a 1-2 point deduction.</p>

<p>Trying to reply to what I can …</p>

<p>@superduck0: forgetting to use the “new” operator is a problem. I’m guessing there will be point in the rubric for the problem that governs properly initializing your array (or whatever that is, since I don’t know the problem you’re talking about), and that’s probably where the deduction will occur. But I’m strictly guessing on my part; I haven’t seen the exam, much less the rubric for it.</p>

<p>@exoblaze: we don’t read or grade based on the comments.</p>

<p>@smeagleagle: the FRQs will be posted on AP Central on Thursday afternoon, probably after 4pm. I don’t think “official” solutions will be posted until July/August, but I’m sure plenty of teachers will post their own solutions online shortly afterwards.</p>

<p>@redneys: take a look at some of the past FRQs on the AP Central website; they include the actual scoring rubrics used, as well as some sample student solutions and commentary on how those solutions were scored. In general, when we read the exams, we tend to forgive nit-picky little stuff like semicolons, braces, misspelling variable names, and other things like that. For simple logic errors, we try to create rubrics so that a single mistake might cost you a point or two, but won’t cost you the entire problem.</p>

<p>@redneys
my APCS teacher graded AP exams, and the graders are under a ton of time pressure; they have to grade a few hundred FRQs every day I believe. So they’ll be looking to see that you did the things you were supposed to do, and as above, didn’t do things they told you not to. If you look at past FRQ grading rubrics it might give you a general idea.</p>

<p>Thanks for the quick feedback!</p>

<p>There was one major error that I made that I know of. I did violate the postcondition b/c I was running out of time and it was the only way I saw to make the jumping critter work. Also, I came from other languages and so I don’t really write the () on method calls very often, thinking this was always non penalized. If I do this consistently, will points be taken off?</p>

<p>@red, the graders might take off 1/2 a point for consistent mistakes or none if they don’t care too much for stuff like that. For violating the postcondition, they’ll take off for that cause the point of the code is to fulfill the pseudocode and postconditions they give for you to look at :S</p>

<p>To be clear, this was a postcondition from gridworld not in the pseudocode (if that means anything). Realizing there will be some penalty, would it be more than 1 or 2 points? Again I really have nothing to base this off of.</p>

<p>

</p>

<p>What specifically did you do? If you violated a post-condition that was in the reference sheet, you’ll most likely lose points.</p>

<p>I modified getLocations and selectLocation (or whatever it’s called).</p>

<p>I modified those as well. However, the question entailed that the critter must be removed from the grid if it can’t move, which I implemented in one of those methods (forget which one). At the time, I didn’t realize that makeMove would remove it from the grid, and so I went along with violating the postcondition of one of those methods and changed the state of an actor. I realized I would lose some points, but I thought it would be only 1, maybe 2. Could it be more like 3 or 4? I really feel like I’m borderline 4/5.</p>

<p>Unfortunately for this one you’ll probably lose some points. In the JumperCritter, it specifically instructed us to make sure not to violate postconditions, so the graders will be looking for that.</p>

<p>

</p>

<p>So you modified those 2 and then another? Which did you actually modify?</p>

<p>Anyway, the biggest mistake would be to modify act() since they specifically warned against it. Violating other post-conditions (especially makeMove) is bad, but still probably only a point or two.</p>

<p>what did you guys put for num 2
it was asking which would evaluate true
I avar < 50 || avar >90
II avar < 50 && avar >90
III avar</=50 && 90<avar</p>

<p>The best thing I found to compare this question to was a past year question that also had the students extend a critter. In that question, there was a chance someone could violate the postcondition, and from what I could gather from the rubric it would mean a 1 point penalty. However, I’m not confident I graded that right. I know it said don’t do that specifically, but with that in mind, how severe are the consequences?</p>

<p>I modified those methods, and in those methods (i.e. one of those methods - not sure which one because I forget the titles), checked for it not being able to move (I did that correctly) and then if it couldn’t move, removed it from grid (violating the postcondition by changing the state of an actor). This was supposed to automatically happen in makeMove if the location returned was null (or something like that).</p>

<p>I am curious also how many points would I lose if I somehow missed the “you must only override two classes?” I overrode both getMoveLocations and selectMoveLocations and I could have easily changed one line of code in getMoveLocations, but instead I did something so I could modify makeMove. I’d hope I wouldn’t get too many points marked off. I appreciate any information!</p>

<p>@redneys: based on past experience, I’m guessing that violating the post-conditions is a one-point penalty, or at most 2 points. Keep in mind that there are 9 points to be earned across the entire problem (however many parts it had), so no one error can be worth too many points.</p>

<p>If I overrode makeMove() but didn’t violate the post-condition (getLocation() = loc), do I still get full points? Or is it absolutely mandatory I override selectMoveLocation?</p>

<p>You’re probably fine. That’s the only post-condition for makeMove() that I’m aware of.</p>

<p>If you don’t violate a postcondition you can get full points. But I’m guessing the only way to avoid it in makeMove() would be a roundabout way that might cost you points for efficiency/confusingness or something. How did you avoid violating the postcondition?</p>

<p>Was it possible to make an instance of the gridworld utilities class and call the static method from the instance. For example: GridworldUtilities g = new GridWorldUtilities(); g.getEmptyLocations();
Also was it necessary to override two methods. Couldn’t everything for JumperCritter be done in just the getMoveLocations().
Finally would returning an arraylist of null if no available locations in getMoveLocations() violate post conditions? If any of these are penalties, how many points would likely be taken off for each one?</p>