AP Computer Science A
AP Computer Science A
Introduction
Curriculum Introduction
Introduction
Video Tutorials
Curriculum Assets
Curriculum Maps
Unit 1: Programming & Java (2 weeks)
Unit 2: Working with Data & Basic Control Flow (3 weeks)
Unit 3: Advanced Data & Control Flow (4 weeks)
Unit 4: Arrays, Lists, & Files (4 weeks)
Unit 5: Object-Oriented Programming (4 weeks)
Unit 6: Inheritance & Polymorphism (4 weeks)
Unit 7: Searching & Sorting (3 weeks)
Unit 8: Recursion (2 weeks)
Unit 9: AP Test Review (3 weeks)
Unit 10: Post-AP Exam Projects (4–5 weeks)
Unit 1: Programming & Java (2 weeks)
Lesson 1.01: Using IDE/Code Editor
Lesson 1.02: Algorithms & Computational Thinking
Lesson 1.03: String & Console Output
Lesson 1.04: Common Errors & Comments
Lesson 1.05: Static Methods & Method Calls (1/2)
Lesson 1.06: Static Methods & Method Calls (2/2)
Lesson 1.07: Programming Project
Lesson 1.07a: Open Ended Programming Project
Lesson 1.07b: Open Ended Programming Project (Canadian version)
Lesson 1.08: Finding & Fixing Errors
Lesson 1.09: Review
Lesson 1.99: Unit 1 Test
Unit 2: Working with Data & Basic Control Flow (3 weeks)
Lesson 2.00: Test Review & Reteach
Lesson 2.01: Basic Data Concepts
Lesson 2.02: Declaring & Assigning Variables
Lesson 2.03: String Concatenation & Increment Decrement Operators
Lesson 2.04: Mixing Types & Casting
Lesson 2.05: for Loops
Lesson 2.06: nested for Loops
Lesson 2.07: Scope & Pseudocode
Lesson 2.08: Programming Project
Lesson 2.08a: Alternative Programming Project - Lyrics
Lesson 2.09: Programming Project
Lesson 2.10: Finding & Fixing Errors
Lesson 2.11: Review
Lesson 2.99: Unit 2 Test
Unit 3: Advanced Data & Control Flow (4 weeks)
Lesson 3.00: Test Review & Reteach
Lesson 3.01: Parameters
Lesson 3.02: Limitations of Parameters & Multiple Parameters
Lesson 3.03: Return Values
Lesson 3.04: Programming Project
Lesson 3.05: Using Objects & String Processing
Lesson 3.06: Interactive Programs & Scanner Objects
Lesson 3.07: Pokémon Battle Programming Project
Lesson 3.08: Finding & Fixing Errors
Lesson 3.09: Relational Operators & if/else
Lesson 3.10: Nested if/else Statements
Lesson 3.11: Reducing Redundancy
Lesson 3.12: Cumulative Algorithms
Lesson 3.13: while Loops
Lesson 3.14: Random Numbers
Lesson 3.15: Fencepost & Sentinel Loops
Lesson 3.16: Boolean Logic (2 Days)
Lesson 3.17: Finding & Fixing Errors
Lesson 3.18: Consumer Lab
Lesson 3.18a: Alternative Programming Project - Calculator Project
Lesson 3.18b: Alternative Programming Project - Frac Calc
Lesson 3.19: Review
Lesson 3.99: Unit 3 test
Unit 4: Arrays, Lists, & Files (4 weeks)
Lesson 4.00: Test Review & Reteach
Lesson 4.01: Array Basics
Lesson 4.02: For-Each Loop & Arrays Class
Lesson 4.03: Printing, Searching, & Testing for Equality (2 Days)
Lesson 4.04: Reference Semantics
Lesson 4.05: Shifting Values & Arrays of Objects
Lesson 4.06: Nested Loop Algorithms & Rectangular Arrays
Lesson 4.07: ArrayList
Lesson 4.08: Finding & Fixing Errors
Lesson 4.09: Magpie Lab (5 Days)
Lesson 4.09a: Steganography Lab
Lesson 4.09b: Alternative Programming Project - Open-Ended Project
Lesson 4.10: Review
Lesson 4.99: Unit 4 test
Unit 5: Object-Oriented Programming (4 weeks)
Lesson 5.00: Test Review & Reteach
Lesson 5.01: Object Oriented Programming
Lesson 5.02: Object State & Behavior
Lesson 5.03: Object Initialization: Constructors
Lesson 5.04: Encapsulation
Lesson 5.05: Finding & Fixing Errors
Lesson 5.06: Picture Lab (9 Days)
Lesson 5.06a: Data Lab
Lesson 5.06b: Alternative Programming Project - Open-Ended Project
Lesson 5.07: Review
Lesson 5.99: Unit 5 test
Unit 6: Inheritance & Polymorphism (4 weeks)
Lesson 6.00: Test Review & Reteach
Lesson 6.01: Inheritance Basics (2 Days)
Lesson 6.02: Overriding Methods & Accessing Inherited Code
Lesson 6.03: Interacting with the Object Superclass
Lesson 6.04: Polymorphism
Lesson 6.05: Has-a Relationships
Lesson 6.06: Interfaces
Lesson 6.07: Programming Project (5 Days)
Lesson 6.07a: Celebrity Lab
Lesson 6.07b: Text Excel
Lesson 6.08: Finding & Fixing Errors
Lesson 6.09: Review
Lesson 6.99: Unit 6 test
Unit 6 Test Guide
Unit 7: Searching & Sorting (3 weeks)
Lesson 7.00: Test Review & Reteach
Lesson 7.01: Searching Algorithms
Lesson 7.02: Sorting Algorithms
Lesson 7.03: Elevens Lab (16 Days)
Lesson 7.04: Review
Lesson 7.99: Unit 7 test
Unit 8: Recursion (2 weeks)
Lesson 8.00: Test Review & Reteach
Lesson 8.01: Thinking Recursively
Lesson 8.02: Writing Recursive Solutions
Lesson 8.03: Mechanics of Recursion
Lesson 8.04: MergeSort
Lesson 8.05: Finding & Fixing Errors
Lesson 8.06: Review
Lesson 8.07: Unit 8 quiz
Lesson 8.08: Quiz Review & Reteach
Unit 9: AP Test Review (3 weeks)
Lesson 9.00: Reviewing for the AP Exam
Lesson 9.01: Mock AP Exam
Unit 10: Post-AP Exam Projects (4–5 weeks)
Character Clash
SpaceBattleArena
TEALS Minecraft Modding
Culture Days (4 days)
Culture Day Lesson A: Video/Reading
Culture Day Lesson B: Student Research Project/Presentation
Culture Day Lesson C: My Skills and Interests Journal
Culture Day Lesson D: Interview with People in Technology
Appendix
About This Curriculum
Changelog
Contributing
Acknowledgements
Lesson 6.99: Unit 6 test
Here are the articles in this section:
Unit 6 Test Guide
Unit 6: Inheritance & Polymorphism (4 weeks) - Previous
Lesson 6.09: Review
Next
Unit 6 Test Guide
Last updated
3 months ago