The course is divided into five units. Click on a unit's link to see more details. Please refer to the Course Description PDF for a detailed explanation of the contents of this course. You may also visit the class wiki for extra information, study guides, extra links, and more.
The table below describes the general structure of the course. For each unit, the estimated time to complete it and the required chapters are listed. The topic outline correlation shows how we will cover the required elements of the AP course.
| Unit | Summary | Class Days | Textbook Chapters | Topic Outline Correlation | |
|---|---|---|---|---|---|
| 1 | Basic OOP, Java language features | 20 | 1–7 | II.B (except II.B.2.d and II.B.4.e), III.H, IV.A-C | General coverage units 1-4 I (except I.A.4 and I.B.5), II.A, II.B.4.e, II.C, III.C, VI |
| 2 | Advanced OOP, debugging and testing | 30 | 8–11, 15 | I.A.4, I.B.5, II.A, II.B.2.d, III.A-B, III.D-F, IV.E-G | |
| 3 | Searching, sorting, advanced data structures, algorithm analysis | 30 | 14, 16, 19, 21 | III.G, IV.H-L, V | |
| 4 | Case Study Extension Project | 24 | none | III.C-D | |
| 5 | AP Test Review | ||||
| Unit | Chapter | Sections covered | Review Exercises | Programming Exercises |
| 1 | 2 | All | 1–4, 9, 10, 12 | 4, 7 |
| 3 | All | 1–5, 7, 9, 11, 12 | 2, 3, 6, 12 | |
| 4 | All | 4, 7, 9, 11, 13, 16 | 4, 10 | |
| 5 | All | 2–4, 9, 10, 13 | 1, 15 | |
| 6 | All | 1, 3–5, 8, 9, 13 | 2, 12 | |
| 7 | 1–6 | 3–5, 9, 13, 14 | 7, 12 | |
| 2 | 8 | 1–9 | 1, 3, 4, 7, 8, 17, 20, 23–25 | 4, 11, 12 |
| 9 | 1–4 | 1–3, 7, 8 | 7–9 | |
| 10 | 1–8 | 3, 8, 10, 12, 13, 17 | None | |
| 11 | All | 1, 2, 7, 8, 11, 14 | 1, 9 | |
| 15 | All | 7, 8, 9, 12 | 3, 12 | |
| 3 | 14 | All | 5, 6, 8, 10, 11, 12 | 8, 13, 14 |
| 16 | All | 4, 5, 7, 8, 14, 17 | 1, 9, 13, 17, 18 | |
| 19 | TBA | TBA | TBA | |
| 21 | TBA | TBA | TBA |
This course will be graded as illustrated below.
| Category | Weight |
|---|---|
| Review exercises and other homework | 10% |
| Programming exercises | 10% |
| Exams | 30% |
| Programming projects | 50% |
Homework will not be thoroughly checked; I assign it because I want to make sure you're reading the material and giving yourself at least one opportunity to review it. I will assign 100% for completed homework turned in on time; 50% to partially complete or late homework, and 0 for missing assignments.
Programming exercises will be graded based on three criteria: Correctness, Elegance/Style, and Comments.
Points from all three categories are summed, then multiplied by 3.5 and added to 51 to get the final score on a 100-point scale. Late programming exercises will be docked 10% of the final grade for each week past the due date.
Exams will be graded on a 100-point scale. All exams are cumulative, so expect topics from the beginning of the year to show up on exams for later units. You will be answering a number of different styles of question, including fill-in-the-blank, true/false, multiple choice, short answer (written paragraph), code analysis, and coding (pen & paper; no computer assistance).
Details are forthcoming, but in general the project grades will be based on a combination of the above criteria for programming exercises, participation and effort.