====== Overview of The Course ====== ===== Unit 1 Using Objects and Methods ===== * 1.01 Introduction to Algorithms, Programming, and Compilers * 1.02 Variables and Data Types * 1.03 Expressions and Output * 1.04 Assignment and Input * 1.1 to 1.4 PC (AP Classroom) * 1.05 Casting and Ranges of Values * 1.06 Compound Assignment Operators * 1.1-1.6 (Runestone 1.16 to 1.19) * 1.07 APIs and Libraries * 1.08 Documentation with Comments and Preconditions * 1.09 Method Signatures * 1.5 to 1.9 PC (AP Classroom) * 1.10 Calling Class Methods * 1.11 Using the Math Class * 1.12 Objects - Instances of Classes * 1.13 Creating and Initializing Objects: Constructors * 1.14 Calling Instance Methods * 1.15 Strings * 1.10 to 1.15 PC (AP Classroom) * 1.7 to 1.15 (Runestone 1.20-1.23) * Unit 1 Review (AP Classroom) * Unit 1 Review (Runestone 1.24) * 1.16 Unit Summary 1a (1.1-1.6) * 1.17 Mixed Up Code Practice 1a (1.1-1.6) * 1.18 Coding Practice 1a (1.1-1.6) * 1.19 Multiple Choice Exercises for Unit 1a (1.1-1.6) * 1.20 Unit Summary 1b (1.7-1.15) * 1.21 Mixed Up Code Practice 1b (1.7-1.15) * 1.22 Coding Practice 1b (1.7-1.15) * 1.23 Multiple Choice Exercises for Unit 1b (1.9-1.15) * 1.24 Practice Test for Objects (1.12-1.14) * 1.25 Java Swing GUIs (optional) * 1.26 Unit 1 Free Response Question (FRQ) Practice ===== Unit 2 Selection and Iteration ===== * 2.01 Algorithms with Selection and Repetition * 2.02 Boolean Expressions * 2.03 if Statements * 2.04 Nested if Statements * 2.05 Compound Boolean Expressions * 2.06 Comparing Boolean Expressions (De Morgan’s Laws) * 2.1-2.6 AP Classroom Progress Check part 1 * 2.07 While Loops * 2.08 For Loops * 2.09 Implementing Selection and Iteration Algorithms * 2.10 Implementing String Algorithms * 2.11 Nested Iteration * 2.12 Informal Runtime Analysis of Loops * 2.13 Unit 2 Part 1 Summary on Selection (2.1-2.6) * 2.14 Selection Mixed Up Code Practice (2.1-2.6) * 2.15 Selection Coding Practice (2.1-2.6) * 2.16 Selection Multiple Choice Exercises (2.1-2.6) * 2.17 Selection Free Response Question (FRQ) Game Practice (2.1-2.6) * 2.18 FRQ Style Selection Coding Practice (2.1-2.6) * 2.19 Group Work - Remainder Operator (%) * 2.20 Unit 2 Part 2 Summary on Loops (2.7-2.12) * 2.21 Loops Mixed Up Code Practice (2.7-2.12) * 2.22 Loops Coding Practice (2.7-2.12) * 2.23 Loops Multiple Choice Exercises (2.7-2.12) * 2.24 Unit 2 Test * 2.25 FRQ 1 MessageBuilder with Loops and Strings * 2.26 FRQ APCalendar for Loops and Control Structures * 2.27 FRQ Self Divisor A * 2.28 FRQ String Scramble A * 2.29 Magpie Chatbot Lab * 2.30 Consumer Review Lab ===== Unit 3 Class Creation ===== * 3.01 Abstraction and Program Design * 3.02 Impact of Program Design * 3.03 Anatomy of a Java Class * 3.04 Writing Constructors * 3.05 Methods: How to Write Them * 3.06 Methods: Passing and Returning References of an Object * 3.07 Class (static) Variables and Methods * 3.08 Scope and Access * 3.09 this Keyword * 3.10 Unit 3 Summary * 3.11 Unit 3 Mixed Up Code Practice * 3.12 Unit 3 Write Code Practice for Classes * 3.13 Multiple-Choice Exercises - Objects and Classes * 3.14 Unit 3 Test * 3.15 Free Response Question (FRQ) 2 Class Design - CupcakeMachine Class * 3.16 FRQ 2 Practice with Classes * 3.17 Free Response Question (FRQ) - StepTracker Class * 3.18 Free Response Question - Time * 3.19 College Board Celebrity and Data Labs * 3.20 Design a Class for your Community Project ===== Unit 4 Data Collections ===== * 4.01 Ethical and Social Issues Around Data Collection * 4.02 Data Sets * 4.03 Array Creation and Access * 4.04 Array Traversals * 4.05 Implementing Array Algorithms * 4.06 Using Text Files * 4.07 Wrapper Classes - Integer and Double * 4.08 ArrayList and its Methods * 4.09 ArrayList Traversals * 4.10 Implementing ArrayList Algorithms * 4.11 2D Array Creation and Access * 4.12 2D Array Traversals: Nested Loops * 4.13 Implementing 2D Array Algorithms * 4.14 Searching Algorithms * 4.15 Sorting Algorithms * 4.16 Recursion * 4.17 Recursive Searching and Sorting * 4.18 Arrays Summary * 4.19 Arrays Mixed Up Code Practice * 4.20 Arrays Code Practice * 4.21 More Code Practice with Arrays * 4.22 Arrays Multiple-Choice Exercises * 4.23 Practice Exam for Arrays * 4.24 Free Response - Horse Barn A * 4.25 Free Response - Horse Barn B * 4.26 Free Response - Self Divisor B * 4.27 Free Response - Sound A * 4.28 Free Response - Sound B * 4.29 Free Response - Number Cube A * 4.30 Free Response - Number Cube B * 4.31 ArrayList Summary * 4.32 ArrayList Mixed Up Code Practice * 4.33 Code Practice with ArrayLists * 4.34 ArrayList Multiple-Choice Exercises * 4.35 Free Response Question (FRQ) 3 - ItemInventory * 4.36 Free Response - Climbing Club A * 4.37 Free Response - Climbing Club B * 4.38 Free Response - Climbing Club C * 4.39 Free Response - CookieOrder A * 4.40 Free Response - CookieOrder B * 4.41 Free Response - StringFormatter A * 4.42 Free Response - StringFormatter B * 4.43 Free Response - Delimiters A * 4.44 Free Response - Delimiters B * 4.45 Search/Sort Multiple-Choice Exercises * 4.46 2D Arrays Summary * 4.47 2D Arrays Mixed Up Code Practice * 4.48 Code Practice with 2D Arrays * 4.49 More Code Practice with 2D Arrays * 4.50 2D Arrays Multiple-Choice Exercises * 4.51 Free Response - Gray Image A * 4.52 Free Response - Gray Image B * 4.53 Free Response - Route Cipher A * 4.54 Free Response - Route Cipher B * 4.55 Recursion Summary * 4.56 Recursion Mixed Up Code Practice * 4.57 Recursion More Mixed Up Code Practice * 4.58 Code Practice for Recursion * 4.59 Recursion Exercises * 4.60 Optional: HashMap (Dictionary) Data Structure * 4.61 College Board Celebrity and Data Labs * 4.62 Picture Lab for 2D Arrays * 4.63 Picture Lab A1 - A3 * 4.64 Picture Lab A4: 2D Arrays in Java * 4.65 Picture Lab A5: Picture Classes and Inheritance * 4.66 Picture Lab A5: Modifying a Picture * 4.67 Picture Lab A6: Mirroring Pictures * 4.68 Picture Lab A7: Mirroring Part of a Picture * 4.69 Picture Lab A8: Creating a Collage * 4.70 Picture Lab A9: Simple Edge Detection ===== CSAwesome2 Review & Practice Chapters ===== * 5 Inheritance (optional) * 6 Post Tests and Survey * 7 Untimed Practice Exams * 8 Timed Practice Exams * 9 Mixed Up Code - Free Response Practice * 10 Free Response Practice * 11 Stories * 12 Quiz Bank Exercises Unit