Library
AP Computer Science A
Got a question wrong? Open the notes for that topic.
Teaching this subject? Everything for the classroom in one place →
- Course & Exam Description
- Revision Sheet
- Syllabus Checklist
- Scheme of Work
- Exam Technique
- Command Words — A3 poster
- Lesson Plans — one page per topic
- Class Mark Book
1. Using Objects and Methods 38 files
- 1.1 Introduction to Algorithms, Programming, and Compilers
- 1.2 Variables and Data Types
- 1.3 Expressions and Output
- 1.4 Assignment Statements and Input
- 1.5 Casting and Range of Variables
- 1.6 Compound Assignment Operators
- 1.7 Application Program Interface (API) and Libraries
- 1.8 Documentation with Comments
- 1.9 Method Signatures
- 1.10 Calling Class Methods
- 1.11 Math Class
- 1.12 Objects: Instances of Classes
- 1.13 Object Creation and Storage (Instantiation)
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
- 1.1 Introduction to Algorithms, Programming, and Compilers
- 1.2 Variables and Data Types
- 1.3 Expressions and Output
- 1.4 Assignment Statements and Input
- 1.5 Casting and Range of Variables
- 1.6 Compound Assignment Operators
- 1.7 Application Program Interface (API) and Libraries
- 1.8 Documentation with Comments
- 1.9 Method Signatures
- 1.10 Calling Class Methods
- 1.11 Math Class
- 1.12 Objects: Instances of Classes
- 1.13 Object Creation and Storage (Instantiation)
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
2. Selection and Iteration 37 files
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.4 Nested if Statements
- 2.5 Compound Boolean Expressions
- 2.6 Comparing Boolean Expressions
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 2.12 Informal Run-Time Analysis
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.4 Nested if Statements
- 2.5 Compound Boolean Expressions
- 2.6 Comparing Boolean Expressions
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 2.12 Informal Run-Time Analysis
3. Class Creation 29 files
4. Data Collections 47 files
- 4.1 Ethical and Social Issues Around Data Collection
- 4.2 Introduction to Using Data Sets
- 4.3 Array Creation and Access
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.6 Using Text Files
- 4.7 Wrapper Classes
- 4.8 ArrayList Methods
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
- 4.15 Sorting Algorithms
- 4.16 Recursion
- 4.17 Recursive Searching and Sorting
- 4.1 Ethical and Social Issues Around Data Collection
- 4.2 Introduction to Using Data Sets
- 4.3 Array Creation and Access
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.6 Using Text Files
- 4.7 Wrapper Classes
- 4.8 ArrayList Methods
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
- 4.15 Sorting Algorithms
- 4.16 Recursion
- 4.17 Recursive Searching and Sorting
- AP Computer Science A — Question index
- 1.3 Expressions and Output
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 3.1 Abstraction and Program Design
- 3.3 Anatomy of a Class
- 3.4 Constructors
- 3.5 Methods: How to Write Them
- 3.6 Methods: Passing and Returning References of an Object
- 3.7 Class Variables and Methods
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
Topic quizzes
Unit tests
Mock papers
Course companion
Glossary
Topic handouts
- 1.1 Introduction to Algorithms, Programming, and Compilers
- 1.2 Variables and Data Types
- 1.3 Expressions and Output
- 1.4 Assignment Statements and Input
- 1.5 Casting and Range of Variables
- 1.6 Compound Assignment Operators
- 1.7 Application Program Interface (API) and Libraries
- 1.8 Documentation with Comments
- 1.9 Method Signatures
- 1.10 Calling Class Methods
- 1.11 Math Class
- 1.12 Objects: Instances of Classes
- 1.13 Object Creation and Storage (Instantiation)
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.4 Nested if Statements
- 2.5 Compound Boolean Expressions
- 2.6 Comparing Boolean Expressions
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 2.12 Informal Run-Time Analysis
- 3.1 Abstraction and Program Design
- 3.2 Impact of Program Design
- 3.3 Anatomy of a Class
- 3.4 Constructors
- 3.5 Methods: How to Write Them
- 3.6 Methods: Passing and Returning References of an Object
- 3.7 Class Variables and Methods
- 3.8 Scope and Access
- 3.9 this Keyword
- 4.1 Ethical and Social Issues Around Data Collection
- 4.2 Introduction to Using Data Sets
- 4.3 Array Creation and Access
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.6 Using Text Files
- 4.7 Wrapper Classes
- 4.8 ArrayList Methods
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
- 4.15 Sorting Algorithms
- 4.16 Recursion
- 4.17 Recursive Searching and Sorting
Lesson slides
Lesson slides
- 1.1 Introduction to Algorithms, Programming, and Compilers
- 1.2 Variables and Data Types
- 1.3 Expressions and Output
- 1.4 Assignment Statements and Input
- 1.5 Casting and Range of Variables
- 1.6 Compound Assignment Operators
- 1.7 Application Program Interface (API) and Libraries
- 1.8 Documentation with Comments
- 1.9 Method Signatures
- 1.10 Calling Class Methods
- 1.11 Math Class
- 1.12 Objects: Instances of Classes
- 1.13 Object Creation and Storage (Instantiation)
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.4 Nested if Statements
- 2.5 Compound Boolean Expressions
- 2.6 Comparing Boolean Expressions
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 2.12 Informal Run-Time Analysis
- 3.1 Abstraction and Program Design
- 3.2 Impact of Program Design
- 3.3 Anatomy of a Class
- 3.4 Constructors
- 3.5 Methods: How to Write Them
- 3.6 Methods: Passing and Returning References of an Object
- 3.7 Class Variables and Methods
- 3.8 Scope and Access
- 3.9 this Keyword
- 4.1 Ethical and Social Issues Around Data Collection
- 4.2 Introduction to Using Data Sets
- 4.3 Array Creation and Access
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.6 Using Text Files
- 4.7 Wrapper Classes
- 4.8 ArrayList Methods
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
- 4.15 Sorting Algorithms
- 4.16 Recursion
- 4.17 Recursive Searching and Sorting
Vocabulary lists
Flashcards
Weekly vocab tests
Weekly homework
Exercise sheets
- Complete pack — exercise sheets + past papers
- 1 Using Objects and Methods — Part 1
- 1 Using Objects and Methods — Part 2
- 2 Selection and Iteration — Part 1
- 2 Selection and Iteration — Part 2
- 3 Class Creation — Part 1
- 3 Class Creation — Part 2
- 4 Data Collections — Part 1
- 4 Data Collections — Part 2
Past papers
- 1.3 Expressions and Output
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 3.1 Abstraction and Program Design
- 3.3 Anatomy of a Class
- 3.4 Constructors
- 3.5 Methods: How to Write Them
- 3.6 Methods: Passing and Returning References of an Object
- 3.7 Class Variables and Methods
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
Tips
Write every solution by hand, then type it in and run it. The gap between what you thought you wrote and what compiles is where the marks go, and only running it shows you.
Read the scoring guidelines closely — they award points for individual lines and conditions, so a partially working method scores well and a blank one scores zero. Never leave a method empty; write the header, the loop and whatever logic you have.
Method signatures must match the question exactly — name, parameters and return type. It is a free mark to keep and an easy one to throw away.