Thursday, April 18, 2013

AP Computer Science - Mock Exam

For the past few years I have been involved with VASS , the Virginia branch of the national NMSI AP readiness grants. They work in increasing access to college by implementing rigorous AP programs in STEM areas in public schools.

The program has a specific methodology for increasing student success in AP classes. There are a ton of things they offer teachers, and I'll write about those separately.

The method they use for students could be implemented anywhere. This includes:

  1. Weekly hour long structured tutorials in AP classes. This is not just "does anyone have any questions?" but a structured session that focuses on elements of the curriculum that will most impact student success. I spend a lot of time in these sessions on tracing code and writing code on paper.
  2. External prep sessions that cover course topics more in depth. We do these online and each session lasts an hour. 
  3. The annual mock exam. Students sit for an AP style exam as practice. We use the released 2009 multiple choice questions (purchased) and the free response from the previous year. The results are used to steer the review for each individual student.

I have been grading Mock Exams for VASS  all this week. It is so nice to see my students aren't the only one making goofy mistakes. After grading over 50 exams I have noticed a few patterns that might help you prepare your students for the free response section.

  1. Many of the questions are set up as methods:
    1. Do not rewrite the method header or make changes to the header! (this one boggles my mind)
    2. If they give you parameters - use them
    3. Do not re-declare the methods as local variables
    4. If the method returns an int, declare an int and return it
    5. If the method is void DO NOT RETURN A VALUE
  2. These questions are usually in a larger class. Look for how the data is stored - probably as an array, ArrayList or a 2-D array.
    1. Do not re-declare that object locally. Use the one from the class.
    2. Do not use [] with an ArrayList
    3. arrays and Strings use .length 0 ArrayList uses .size

  3. Look for patterns- especially if you are stuck. You can sometimes steal a few points even when you have no idea how to solve the problem.
    1. simple array? put in a for-loop
    2. does it ask a question? You'll need an if-statement

In the next week I am thinking of putting all of the free response question prompts from the past 5 years on a sheet of paper, handing out highlighters, and letting them look for these patterns.

I wouldn't do these all at once, but as you do practice coding on paper encourage them to think in terms of patterns. Even the best programmer can get stuck when having to code on paper. These tips should help them from making silly mistakes.

No comments:

Post a Comment

So, what do YOU think?