APCS01 Computer Science A with Java


 

 age >= 13

          Course Overview

Course emphasis: computer science reasoning, object-oriented design, code tracing, debugging, algorithms, and AP CSA-style problem solving.

Entry skills expected: variables, expressions, conditionals, loops, methods, and very simple classes in Java.

End-of-course target: students can write, analyze, trace, and improve object-oriented Java programs with confidence and can complete cumulative CSA-style assessments.
Instructional Priorities

Use Java as the language of instruction, but teach computer science thinking rather than syntax in isolation.

Require students to explain code behavior, not just produce code that compiles.

Build from review into arrays, ArrayList, algorithms, inheritance, polymorphism, 2D arrays, and recursion.

Use daily warm-ups for tracing and debugging so students practice reasoning under time.

Year-at-a-Glance Units
 
Fast Review and Diagnostic Reset
Tracing, scope, control flow, cleanup, common bug patterns
Class Design and Object Modeling
State, constructors, methods, encapsulation, object interactions
Strings and Algorithmic Problem Solving
String processing, helper methods, specifications, edge cases
Arrays and ArrayList
Traversal, mutation, searching, counting, managing collections
Algorithms: Search and Sort
Sequential search, binary search, selection sort, insertion sort
Inheritance and Polymorphism (optional)
Hierarchies, overriding, super, dynamic dispatch
2D Arrays and Grid Problems
Nested traversal, row/column logic, matrix-style tasks
Recursion
Base cases, recursive decomposition, tracing calls
Integrated Project and Review
Capstone development, mixed review, practice assessments