Allan Didier

APCS Exam Content

Below is a list of the content to be covered for the AP Computer Science A exam for the school year 2019-2020. Make sure to check the APCS Exam Format page to see what type of questions will be used on the exam. This can also be found on pp 22-25 of the AP Computer Science A Course and Exam Description document.

  • Unit 1: Primitive Variables (int, float, double, Boolean, etc.)
    • 1.1 Why Programming? Why Java?
    • 1.2 Variables and Data Types
    • 1.3 Expressions and Assignment Statements
    • 1.4 Compound Assignment Operators 
    • 1.5 Casting and Ranges of Variables 
  • Unit 2: Using Objects
  • Unit 3: Boolean Expressions and if Statements
    • 3.1 Boolean Expressions 
    • 3.2 if Statements and Control Flow 
    • 3.3 if-else Statements
    • 3.4 else if Statements 
    • 3.5 Compound Boolean Expressions ( && (and),  || (or) ) 
    • 3.6 Equivalent Boolean Expressions 
    • 3.7 Comparing Objects
  • Unit 4: Iteration
    • 4.1 while Loops 
    • 4.2 for Loops 
    • 4.3 Developing Algorithms Using Strings
    • 4.4 Nested Iteration 
    • 4.5 Informal Code Analysis 
  • Unit 5: Writing Classes
    • 5.1 Anatomy of a Class 
    • 5.2 Constructors
    • 5.3 Documentation with Comments 
    • 5.4 Accessor Methods (Getters)
    • 5.5 Mutator Methods (Setters) 
    • 5.6 Writing Methods 
    • 5.7 Static Variables and Methods
    • 5.8 Scope and Access 
    • 5.9 this Keyword 
    • 5.10 Ethical and Social Implications of Computing Systems 
  • Unit 6:  Arrays
    • 6.1 Array Creation and Access 
    • 6.2 Traversing Arrays 
    • 6.3 Enhanced for Loop for Arrays (for each) 
    • 6.4 Developing Algorithms Using Arrays
  • Unit 7: Array Lists
    • 7.1 Introduction to ArrayList 
    • 7.2 ArrayList Methods 
    • 7.3 Traversing ArrayLists 
    • 7.4 Developing Algorithms Using ArrayLists 
    • 7.5 Searching (Linear and Binary)
    • 7.6 Sorting (Selection and Insertion)
    • 7.7 Ethical Issues Around Data Collection
  • Unit 8: 2D Arrays
    • 8.1 2D Arrays 
    • 8.2 Traversing 2D Arrays 
  • Unit 9: Inheritance
    • 9.1 Creating Superclasses and Subclasses 
    • 9.2 Writing Constructors for Subclasses 
    • 9.3 Overriding Methods 
    • 9.4 super Keyword 
    • 9.5 Creating References Using Inheritance Hierarchies 
    • 9.6 Polymorphism
    • 9.7 Object Superclass
  • Unit 10: Recursion
    • 10.1 Recursion 
    • 10.2 Recursive Search