1 How to Approach Multiple-Choice Questions

AP Computer Science A Prep, 2024 - Rob Franek 2023

1 How to Approach Multiple-Choice Questions
Part IV: Test-Taking Strategies for the AP Computer Science A Exam

THE BASICS

The directions for the multiple-choice section of the AP Computer Science A Exam are pretty simple. They read as follows:

Directions: Determine the answer to each of the following questions or incomplete statements, using the available space for any necessary scratchwork. Then decide which is the best of the choices given and fill in the corresponding oval on the answer sheet. No credit will be given for anything written in the examination booklet. Do not spend too much time on any one problem.

In short, you’re being asked to do what you’ve done on many other multiple-choice exams: pick the best answer and then fill in the corresponding bubble on a separate sheet of paper. You will not be given credit for answers you record in your test booklet (by circling them, for example) but do not fill in on your answer sheet. The section consists of 40 questions, and you will be given 90 minutes to complete it.

The College Board also provides a breakdown of the general subject matter covered on the exam. This breakdown will not appear in your test booklet; it comes from the preparatory material that the College Board publishes. Here again is the chart we showed you in Part III:

Units

Exam Weighting

Unit 1: Primitive Types

2.5—5%

Unit 2: Using Objects

5—7.5%

Unit 3: Boolean Expressions and if Statements

15—17.5%

Unit 4: Iteration

17.5—22.5%

Unit 5: Writing Classes

5—7.5%

Unit 6: Array

10—15%

Unit 7: ArrayList

2.5—7.5%

Unit 8: 2D Array

7.5—10%

Unit 9: Inheritance

5—10%

Unit 10: Recursion

5—7.5%

Stay Up to Date!

For late-breaking information about test dates, exam formats, and any other changes pertaining to AP Comp Sci A, make sure to check the College Board’s website at apstudents.collegeboard.org/courses/ap-computer-science-a

A few important notes about the AP Computer Science A Exam directly from the College Board:

· Assume that the classes listed in the Java Quick Reference have been imported where appropriate.

· Assume that declarations of variables and methods appear within the context of an enclosing class.

· Assume that method calls that are not prefixed with an object or class name and are not shown within a complete class definition appear within the context of an enclosing class.

· Unless otherwise noted in the question, assume that parameters in method calls are not null and that methods are called only when their preconditions are satisfied.

MULTIPLE-CHOICE STRATEGIES

Process of Elimination (POE)

Image

As you work through the multiple-choice section, always keep in mind that you are not graded on your thinking process or scratchwork. All that ultimately matters is that you indicate the correct answer. Even if you aren’t sure how to answer a question in a methodically “correct” way, see whether you can eliminate any answers based on common sense and then take a guess.

Throughout the book, we will point out areas where you can use common sense to eliminate answers.

Although we all like to be able to solve problems the “correct” way, using Process of Elimination (POE) and guessing aggressively can help earn you a few more points. It may be these points that make the difference between a 3 and a 4 or push you from a 4 to a 5.

Don’t Be Afraid to Guess

If you don’t know the answer, guess! There is no penalty for a wrong answer, so there is no reason to leave an answer blank. Obviously, the more incorrect answers you can eliminate, the better your odds of guessing the correct answer.

Be Strategic About Long Questions

Some multiple-choice questions require a page or two of reading to answer the question. Skip any questions that will either take a long time to read or a long time to calculate. Circle the questions and come back to them after you’ve completed the rest of the section.

Don’t Turn a Question into a Crusade!

Most people don’t run out of time on standardized tests because they work too slowly. Instead, they run out of time because they spend half of the test wrestling with two or three particular questions.

You should never spend more than about 2 minutes on a question. If you find yourself stuck on a super hard question and toying with it for 3 minutes, you’re derailing yourself! Just move on and get as many points as you can. If a question doesn’t involve calculation, then you either know the answer, you can take an educated guess at the answer, or you don’t have any idea what the answer might be. Figure out where you stand on a question, make a decision, and move on.

Any question that requires more than two minutes’ worth of calculations probably isn’t worth doing. Remember, skipping a question early in the section is a good thing if it means that you’ll have time to get two right later on.

Watch for Special Cases in Algorithm Descriptions

On the exam, you may know that the average runtime for finding an element in a binary search tree is O(n log n). Watch out if the question casually mentions that the data is inserted in the tree in sorted order. Now the runtime deteriorates into the worst case, O(n). Such questions may pop up on the AP Computer Science A Exam, so keep a sharp eye.

Remember the Base Case in Recursive Algorithms

Recursive methods without a base case run forever. Be sure that a base case exists and is the correct base case. For example, a factorial function whose base case is

if (n == 1){

return 0;

}

is incorrect because 1! = 1.

Watch for < vs. <= and > vs. >=

The difference between < and <= or between > and >= can be huge, especially in loops. You can bet that this discrepancy will appear in multiple-choice questions!

Know How to Use the AP Computer Science Java Subset

This chapter offers strategies that will help make you a better test taker and, hopefully, a better scorer on the AP Computer Science A exam. However, there are some things you just have to know. Although you’ll have a Quick Reference for the AP Computer Science Java Subset as part of the exam, review the AP Computer Science Java Subset classes beforehand and know what methods are available, what they do, and how to use them. The Quick Reference will help, but it won’t substitute for knowing the classes.

Preconditions and Postconditions

Read these carefully when given. They may provide the clue needed to answer a question. For instance, a precondition may state that the array passed to a method is in sorted order.

Parameter Passing

Remember that arguments passed to methods do not keep changes made to them inside the method. For instance, it is impossible to write a method that swaps the values of two integer primitives. Don’t confuse this, however, with changing the contents (attributes) of an object that is passed to a method.

Client Program vs. Method

There is likely to be at least one question that defines a class and asks you to choose among different implementations for a method. Pay close attention to whether the method is a “client program” or a method of the class. If it’s a client program, the implementation of the method may not access any private data fields or private methods of the class directly. If it’s a method of the class, the implementation is free to access both private data fields and private methods.

Boolean Short-Circuiting

Conditionals in if statements and while statements “short-circuit.” For example,

if ((a != 0) && (b / a == 5))

is not the same as

if ((b / a == 5) && (a != 0))

since Java will stop evaluating a compound boolean statement once the truth value is determined. (More on this later.)

Memorize De Morgan’s Laws

There will be at least one question on the exam for which these laws will be useful.

!(p || q) is equivalent to !p && !q

!(p && q) is equivalent to !p || !q

Find Data in a Class

Watch out for answer choices that have code segments that attempt to change a data field declared final. This is illegal code.

Mixing double and int in an Expression

In operations that have both an int variable and a double variable, unless explicitly cast otherwise, the int is converted to a double and the result of the operation is a double.

Trial and Error

If a question asks about the result of a code segment based on the values of variables, pick simple values for the variables, and determine the results based on those values. Eliminate any choice that is inconsistent with that result. This is often easier than determining the results in more general terms.