Preface |
|
ix | |
Acknowledgments |
|
xi | |
About the Authors |
|
xiii | |
Introduction |
|
xv | |
The Five-Step Program |
|
xix | |
|
STEP 1 Set Up Your Study Program |
|
|
|
1 What You Need to Know About the AP Computer Science A Exam |
|
|
3 | (6) |
|
|
3 | (1) |
|
Frequently Asked Questions About the Exam |
|
|
4 | (5) |
|
|
9 | (8) |
|
Three Approaches to Preparing for the AP Computer Science A Exam |
|
|
9 | (2) |
|
Calendars for Preparing for Each of the Plans |
|
|
11 | (6) |
|
STEP 2 Determine Your Test Readiness |
|
|
|
|
17 | (42) |
|
Using the Diagnostic Exam |
|
|
17 | (26) |
|
Diagnostic Exam Answers and Explanations |
|
|
43 | (16) |
|
STEP 3 Develop Strategies for Success |
|
|
|
4 Strategies to Help You Do Your Best on the Exam |
|
|
59 | (8) |
|
Strategies for the Multiple-Choice Section |
|
|
60 | (1) |
|
Strategies for the Free-Response Section |
|
|
61 | (6) |
|
STEP 4 Review the Knowledge You Need to Score High |
|
|
|
Unit 0 Background on Software Development |
|
|
67 | (10) |
|
|
68 | (1) |
|
What Is a Software Developer? |
|
|
68 | (1) |
|
What Is OOP (Object-Oriented Programming)? |
|
|
69 | (1) |
|
Viewing the World Through the Eyes of a Software Developer |
|
|
69 | (1) |
|
For the Good of All Humankind |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (1) |
|
The Software Development Cycle |
|
|
71 | (1) |
|
Designing Class Hierarchy |
|
|
72 | (1) |
|
|
73 | (2) |
|
|
75 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
|
77 | (16) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (3) |
|
|
82 | (1) |
|
Modifying Number Variables |
|
|
83 | (3) |
|
|
86 | (1) |
|
|
86 | (1) |
|
|
87 | (2) |
|
|
89 | (1) |
|
|
90 | (3) |
|
|
93 | (26) |
|
Overview of the Relationship Between Classes and Objects |
|
|
94 | (1) |
|
The Java API and the AP Computer Science A Exam Subset |
|
|
95 | (1) |
|
|
95 | (1) |
|
|
95 | (1) |
|
A Visual Representation of a string Object |
|
|
96 | (1) |
|
|
97 | (1) |
|
The Correct Way to Compare Two string Objects |
|
|
98 | (1) |
|
|
98 | (4) |
|
|
102 | (1) |
|
|
103 | (1) |
|
|
103 | (3) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
107 | (1) |
|
Summary of the Integer and Double Classes |
|
|
108 | (1) |
|
|
108 | (2) |
|
|
110 | (4) |
|
|
114 | (5) |
|
Unit 3 Boolean Expressions and if Statements |
|
|
119 | (14) |
|
|
120 | (1) |
|
|
120 | (1) |
|
|
121 | (3) |
|
Precedence of Java Operators |
|
|
124 | (1) |
|
|
124 | (4) |
|
|
128 | (1) |
|
|
128 | (3) |
|
|
131 | (2) |
|
|
133 | (20) |
|
|
134 | (1) |
|
|
134 | (7) |
|
|
141 | (2) |
|
|
143 | (1) |
|
|
144 | (4) |
|
|
148 | (5) |
|
|
153 | (38) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
156 | (3) |
|
Putting It All Together: The Circle and circleRunner Classes |
|
|
159 | (2) |
|
Understanding the Keyword new When Constructing an Object |
|
|
161 | (1) |
|
The Reference Variable Versus the Actual Object |
|
|
162 | (1) |
|
|
163 | (1) |
|
|
164 | (2) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
168 | (3) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
172 | (3) |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
176 | (3) |
|
|
179 | (6) |
|
|
185 | (6) |
|
|
191 | (24) |
|
What Is a Data Structure? |
|
|
192 | (1) |
|
|
193 | (5) |
|
|
198 | (1) |
|
Why Algorithms Are Important |
|
|
199 | (1) |
|
Algorithm Versus Pseudocode Versus Real Java Code |
|
|
199 | (1) |
|
|
199 | (1) |
|
The Copy Algorithm for the Array |
|
|
200 | (1) |
|
|
201 | (1) |
|
The Find-Highest Algorithm |
|
|
202 | (2) |
|
|
204 | (2) |
|
|
206 | (4) |
|
|
210 | (5) |
|
|
215 | (42) |
|
|
216 | (2) |
|
Important ArrayList Methods |
|
|
218 | (5) |
|
The Copy Algorithm for the ArrayList |
|
|
223 | (1) |
|
The Sequential (or Linear) Search Algorithm |
|
|
224 | (2) |
|
|
226 | (1) |
|
The Find-Highest Algorithm |
|
|
227 | (2) |
|
The Accumulate Advanced Algorithm |
|
|
229 | (5) |
|
The Find-Highest Advanced Algorithm |
|
|
234 | (3) |
|
The Twitter-Sentiment-Analysis Advanced Algorithm |
|
|
237 | (3) |
|
Background on Sorting Data |
|
|
240 | (1) |
|
|
240 | (2) |
|
|
242 | (1) |
|
|
243 | (2) |
|
|
245 | (5) |
|
|
250 | (7) |
|
|
257 | (18) |
|
|
257 | (4) |
|
|
261 | (1) |
|
|
261 | (1) |
|
The Find-Highest Algorithm |
|
|
262 | (1) |
|
The Connect-Four Advanced Algorithm |
|
|
263 | (4) |
|
|
267 | (1) |
|
|
268 | (3) |
|
|
271 | (4) |
|
|
275 | (22) |
|
|
276 | (4) |
|
|
280 | (5) |
|
|
285 | (2) |
|
|
287 | (2) |
|
|
289 | (5) |
|
|
294 | (3) |
|
|
297 | (24) |
|
|
298 | (1) |
|
|
299 | (5) |
|
|
304 | (2) |
|
|
306 | (3) |
|
|
309 | (1) |
|
|
310 | (4) |
|
|
314 | (7) |
|
STEP 5 Building Your Test-Taking Confidence |
|
|
|
AP Computer Science A Practice Exam 1 |
|
|
321 | (58) |
|
AP Computer Science A: Practice Exam 1, Part I (Multiple Choice) |
|
|
323 | (21) |
|
AP Computer Science A: Practice Exam 1, Part II (Free Response) |
|
|
344 | (9) |
|
Practice Exam 1 Answers and Explanations, Part I (Multiple Choice) |
|
|
353 | (12) |
|
Practice Exam 1 Answers and Explanations, Part II (Free Response) |
|
|
365 | (12) |
|
|
377 | (2) |
|
AP Computer Science A: Practice Exam 2 |
|
|
379 | (62) |
|
AP Computer Science A: Practice Exam 2, Part I (Multiple Choice) |
|
|
381 | (24) |
|
AP Computer Science A: Practice Exam 2, Part II (Free Response) |
|
|
405 | (11) |
|
Practice Exam 2 Answers and Explanations, Part I (Multiple Choice) |
|
|
416 | (11) |
|
Practice Exam 2 Answers and Explanations, Part II (Free Response) |
|
|
427 | (12) |
|
|
439 | (2) |
Appendix |
|
441 | (2) |
Java Quick Reference |
|
443 | (2) |
Free-Response Scoring Guidelines |
|
445 | (2) |
List of Keywords in Java |
|
447 | (2) |
List of Required Runtime Exceptions |
|
449 | (2) |
Language Features and Other Testable Topics |
|
451 | (4) |
Common Syntax Errors for Beginning Java Programmers |
|
455 | (2) |
Online Resources |
|
457 | |