AP® Computer Science A
For Educators
Teachers can use the complete Plus course curriculum for flexible instruction.
Course Summary
Develop a solid foundation in programming, using the Java programming language and logical problem-solving techniques. Through hands-on programming projects and participation in lab work, students develop and strengthen their ability to conceptualize and solve problems. Master object-oriented programming fundamentals including class and method constructs, standard programming algorithms, programming methodology, and syntax structures.
This course prepares students for the AP® Computer Science A exam.
NCAA Approved: Yes
Course Prerequisite(s):
Algebra 1
Curriculum
This is a 2-semester course. We do not recommend taking both semesters simultaneously.
Unit 1: Using Objects and Methods
- Introduction to Algorithms and Programming
- Using Java
- Identifying and Understanding Programming Errors
- Output in Java
- Primitive Variables
- Data Types
- Basic Input and Output
- Arithmetical Operations
- Operators
- Casting
- Compound Assignment Operators
- Application Program Interface (API) and Libraries
- Algorithms Pre and Post Conditions
- Methods
- Parameters
- Math Class
- Object-Oriented Programming
- Objects - Instances of Classes
- Constructors
- Methods & Method Calls
- String Class
- String Methods
Unit 2: Selection and Iteration
- Control Structures
- Logical Operations
- while Loops
- for Loops
- Implementing Selection and Iteration Algorithms
- Implementing String Algorithms
- Nested Iterations
- Algorithm Tracing & Informal Run-Time Analysis
- Consumer Review Labs
Unit 3: Class Creation
- Abstraction and Program Design
- Creating a Class
- Instantiate an Object
- Data Encapsulation
- Writing Constructors
- Writing Methods
- Methods - Passing and Returning References of an Object
- Class Variables and Methods
- Scope and Access
- this Keyword
Unit 4: Data Collections
- Ethical and Social Issues Around Data Collection & Introduction to Using Data Sets
- Arrays
- Array Traversals
- Implementing Array Algorithms
- Using Text Files
- Wrapper Classes
- ArrayLists
- Implementing ArrayList Algorithms
- 2D Arrays
- 2D Array Traversals
- Implementing 2D Array Algorithms
- Steganography Labs
- Searching Algorithms
- Sorting Algorithms
- Recursion
- Recursive Base Case
- Fibonacci Recursive
- Recursion Practice
- AP Exam Review