Course Overview
AP Computer Science A is an introductory college-level programming course. Students design, write, test, and analyze programs using the Java programming language. Major areas of study include algorithms, problem-solving, object-oriented programming, data structures, code analysis, and responsible computing.
Computational Thinking Practices
- Design Code: Determine an appropriate program design, develop algorithms, and select suitable data structures.
- Develop Code: Write Java code that implements algorithms and uses data and procedural abstractions.
- Analyze Code: Trace execution, determine output, identify errors, and compare solutions.
- Document Code and Computing Systems: Describe program behavior, conditions, preconditions, and expected results.
- Use Computers Responsibly: Examine privacy, bias, security, and the social and ethical effects of computing.
Unit 1: Using Objects and Methods
College Board Topics
- Introduction to Algorithms, Programming, and Compilers
- Variables and Data Types
- Expressions and Output
- Assignment Statements and Input
- Casting and Range of Variables
- Compound Assignment Operators
- APIs and Libraries
- Documentation with Comments
- Method Signatures
- Calling Class Methods
- The
MathClass - Objects: Instances of Classes
- Object Creation and Storage
- Calling Instance Methods
- String Manipulation
Major Java Concepts
- Algorithms, sequencing, compiling, and executing programs
- Syntax, logic, and runtime errors
int,double,boolean, and reference types- Variables, expressions, assignment, casting, and operator precedence
- Overflow, round-off errors, and integer division
- Method signatures, parameters, and return values
- Static and instance methods
- Object construction, references, and
null StringandMathmethods- Comments and program documentation
Suggested Activities
Grade calculator, receipt program, coordinate calculator, random-number game, String manipulation program, and the College Board Receipt Lab.
Unit 2: Selection and Iteration
College Board Topics
- Algorithms with Selection and Repetition
- Boolean Expressions
ifStatements- Nested
ifStatements - Compound Boolean Expressions
- Comparing Boolean Expressions
whileLoopsforLoops- Implementing Selection and Iteration Algorithms
- Implementing String Algorithms
- Nested Iteration
- Informal Runtime Analysis
Major Java Concepts
- Relational and equality operators
if,if-else, and nested conditionals&&,||,!, De Morgan's laws, and short-circuit evaluation- Primitive and object comparisons
while,for, and nested loops- Loop bounds, infinite loops, and off-by-one errors
- String traversal, counting, accumulation, minimum, and maximum algorithms
- Informal comparison of algorithm efficiency
Suggested Activities
Guessing game, password validator, menu-driven program, prime checker, String analyzer, pattern printer, and the College Board Magpie 2.0 Lab.
Unit 3: Class Creation
College Board Topics
- Abstraction and Program Design
- Impact of Program Design
- Anatomy of a Class
- Constructors
- Methods: How to Write Them
- Passing and Returning Object References
- Class Variables and Methods
- Scope and Access
- The
thisKeyword
Major Java Concepts
- Data and procedural abstraction
- Attributes, behaviors, instance variables, and class variables
- No-argument and parameterized constructors
- Accessor and mutator methods
- Passing primitive values and object references
- Static variables and methods
- Scope, access modifiers, and encapsulation
private,public, andthis- Method decomposition and class documentation
Suggested Activities
Student, bank account, geometric shape, vehicle, payroll, or game-character classes and the College Board Virtual Pet Lab.
Unit 4: Data Collections
This is the largest and most heavily weighted unit.
College Board Topics
- Ethical and Social Issues Around Data Collection
- Introduction to Using Data Sets
- Array Creation and Access
- Array Traversals
- Implementing Array Algorithms
- Using Text Files
- Wrapper Classes
ArrayListMethodsArrayListTraversals- Implementing
ArrayListAlgorithms - 2D Array Creation and Access
- 2D Array Traversals
- Implementing 2D Array Algorithms
- Searching Algorithms
- Sorting Algorithms
- Recursion
- Recursive Searching and Sorting
Data and Ethics
- Privacy and responsible data collection
- Data quality, completeness, and accuracy
- Algorithmic bias
- Selecting appropriate data sets
Arrays and Text Files
- Creating, accessing, and traversing arrays
- Standard and enhanced
forloops - Searching, counting, summing, averaging, minimum, and maximum
- Reading and processing structured text data
ArrayLists and 2D Arrays
- Wrapper classes, autoboxing, and unboxing
add,get,set,remove, andsize- Safe traversal and modification
- Row-major, column-major, and nested-loop traversals
Searching, Sorting, and Recursion
- Linear and binary search
- Selection, insertion, and merge sort
- Base cases, recursive cases, call stacks, and tracing
- Recursive binary search and merge sort
Required Laboratory Component
The course must include at least 20 hours of structured, hands-on laboratory work. Students should design solutions, write programs, compile and execute code, test with multiple data sets, correct errors, compare solutions, collaborate, and document their work.
College Board Aligned Labs
- Receipt Lab
- Magpie 2.0 Lab
- Virtual Pet Lab
- Data Set Lab
- 2048 Lab
- Digit Recognition Lab
Suggested Yearlong Sequence
| Grading Period | Instructional Focus |
|---|---|
| First | Unit 1: Java foundations, variables, expressions, objects, and methods |
| Second | Complete Unit 1 and begin Unit 2 |
| Third | Unit 2: conditionals, Boolean logic, loops, and algorithm efficiency |
| Fourth | Unit 3: class design, constructors, methods, scope, and access |
| Fifth | Unit 4: data ethics, arrays, text files, wrapper classes, and ArrayLists |
| Sixth | Unit 4: 2D arrays, searching, sorting, recursion, and exam preparation |
| Final weeks before exam | Timed multiple-choice questions, free-response questions, and practice exams |
| After AP Exam | Final Java project, game, simulation, or data-analysis project |
2027 AP Computer Science A Exam
Section I: Multiple Choice
- 42 questions
- 90 minutes
- 55% of the final score
- All four units and all five computational thinking practices may be assessed
Section II: Free Response
- 4 questions
- 90 minutes
- 45% of the final score
- All questions assess the development of Java code
| Question | Focus | Points |
|---|---|---|
| 1 | Methods and Control Structures | 7 |
| 2 | Class Design | 7 |
| 3 | Data Analysis with ArrayList | 5 |
| 4 | Two-Dimensional Array | 6 |
Students receive the College Board Java Quick Reference during both exam sections.
Important Changes and Instructional Priorities
Older AP CSA resources based on ten units do not exactly match the current framework. The revised course places greater emphasis on:
- Data sets, data analysis, and text-file processing
- Ethical and social issues, algorithmic bias, and privacy
- Class design
ArrayListdata analysis- Recursive merge sort
- The four specific free-response formats
Inheritance and polymorphism are no longer organized as separate required units. Instruction and exam review should be aligned with the current Course and Exam Description rather than relying exclusively on older materials.