Bonita High School
AP Computer Science A | Java
Jump to Mission Units Workflow Journal Review Resources
Programming, problem solving, and computational thinking

AP Computer Science A

Build Java programs that solve real problems.

AP Computer Science A is a college-level introduction to computer science through Java. We will learn to design algorithms, trace code, use objects, build classes, test solutions, and explain how computing choices shape the world students live in.

Course Mission & Philosophy

Learning to code strengthens how you think, solve, and create.

Welcome back! I am thrilled to have so many of you returning to my classroom this year.

Mission Statement

Since you already know me, you know my core belief: to solve the complex challenges our society faces, we need solutions built by a broad spectrum of viewpoints. Everyone belongs in computer science, and your unique perspectives are vital to shaping our future.

Our mission in AP Computer Science A is to blend this philosophy with the AP College Board's rigorous framework. In this course, you will master the concepts and tools of computer science by learning a subset of the Java programming language.

Portrait of Dr. John McGarvey

Dr. John C. McGarvey

How We Learn

Through hands-on work, you will design, write, test, document, and revise computer programs that solve real problems. We will use JuiceMind as our class IDE, CSAwesome and AP Classroom for structured practice, and custom review tools for retrieval and code-order thinking.

The goal is not just to get code to run. The goal is to understand why it works, explain how it behaves, and make design choices that another programmer can follow.

Our semester-long question

How can we turn ideas into Java programs that are clear, useful, and worth sharing?

Semester Overview

Four connected units, one complete programming arc

The course is presented as a full semester overview rather than divided into fall and spring pages. Each unit builds toward stronger program design, code tracing, testing habits, and AP-style communication.

Unit 1

Using Objects and Methods

Students learn the foundations of Java through algorithms, variables, data types, expressions, APIs, method calls, and the String and Math classes.

  • Primitive data and expressions
  • Objects, references, and method calls
  • Documentation and APIs
  • Strings, Math, and programming projects
Unit 2

Selection and Iteration

Students use Boolean logic, conditional control, while loops, for loops, nested iteration, and standard algorithms to make programs respond and repeat.

  • Boolean expressions and if statements
  • Compound logic and comparisons
  • While loops, for loops, and nested loops
  • Runtime analysis and algorithm tracing
Unit 3

Class Creation

Students design and implement their own Java classes by choosing instance variables, constructors, accessors, mutators, helper methods, and public behavior.

  • Abstraction and program design
  • Anatomy of a Java class
  • Constructors, methods, and scope
  • this, static members, and class projects
Unit 4

Data Collections

Students extend iteration into larger data problems through arrays, ArrayLists, two-dimensional arrays, searching and sorting patterns, and responsible data use.

  • Arrays and ArrayLists
  • 2D array traversals
  • Searching, sorting, and recursion connections
  • Consumer Lab and computing impacts
Class Workflow

Read, code, trace, explain, revise

Most class cycles combine short instruction, guided notes, live coding, JuiceMind practice, CSAwesome exercises, AP Classroom checks, and reflection in the Java Programming Journal.

Design Code

Determine an appropriate program design, choose useful variables and objects, and break a task into smaller algorithmic steps.

Develop Code

Write Java code using the AP CSA subset, implement methods, test assumptions, and revise programs when evidence shows a problem.

Analyze Code

Trace execution order, determine output, explain errors, and predict how changes affect the program's behavior.

Document Code

Use comments, preconditions, postconditions, and journal entries to describe how code works and why design choices matter.

Use Computing Responsibly

Discuss the ethical, social, cultural, and privacy impacts of computing systems and the data they process.

Practice for the AP Exam

Use multiple choice, free-response, Parsons problems, recall practice, and corrections to prepare for AP-style reasoning.

public class StudyHabit {
    private String strategy;
    private int repetitions;

    public StudyHabit(String strategy) {
        this.strategy = strategy;
        repetitions = 0;
    }

    public void practice() {
        repetitions++;
    }

    public String summary() {
        return strategy + " practiced " + repetitions + " times";
    }
}
Java Programming Journal Directions

Your journal is the thinking behind the code.

The programming journal should make your learning visible. It is not a diary of everything you did. It is a record of the ideas, mistakes, tests, and revisions that helped you become a better programmer.

Required Entry Format

Use this structure for labs, projects, AP Classroom corrections, and major JuiceMind or CSAwesome assignments.

Each entry should include

  • Title and date: Name the assignment, lesson, or problem set.
  • Goal: State what the program or concept was supposed to do.
  • Key concepts: Identify the Java ideas used, such as conditionals, loops, classes, methods, arrays, or strings.
  • Code evidence: Include a small code segment or describe the exact section you worked on.
  • Testing: Record inputs, expected outputs, actual outputs, and what you changed.
  • Reflection: Explain one mistake, one insight, and one next step.

Quality expectations

  • Write in complete thoughts. Bullet points are fine when they are specific.
  • Do not paste entire programs unless asked. Choose the part that shows your thinking.
  • Use vocabulary from class accurately: object, method, parameter, return value, loop body, condition, constructor, instance variable.
  • When correcting an error, explain the cause, not just the fixed answer.
  • End each entry with what you would try first if you saw a similar problem again.
Journal habit: Good programmers keep track of decisions. A strong entry shows how you moved from confusion to evidence, from evidence to revision, and from revision to understanding.
Review Page

Review is active practice, not rereading.

Use the review flow below before quizzes, tests, projects, and AP Classroom progress checks. The same routine supports both multiple-choice reasoning and free-response writing.

Wednesday May 12 2027

AP Computer Science A Exam

Test day and start time: Wednesday, May 12, 2027 at 12 p.m. local time.

Computer Science A is scheduled for Session 2, the afternoon exam session.

Second session 12 p.m. local time AP Computer Science A
View AP Central 2027 exam dates
1

Recall

Use the Recall app to retrieve definitions, concepts, and patterns without looking first.

2

Rebuild Code

Use Parsons problems to practice ordering statements and recognizing the structure of a working solution.

3

Trace

Make a table for variables, loop counts, method calls, return values, and printed output. Slow tracing beats fast guessing.

4

Correct

For every missed question, explain the misconception and write the rule or pattern that would have helped.

Unit review checkpoints

Unit 1 review centers on objects, methods, strings, Math, and expressions. Unit 2 review centers on Boolean logic, conditionals, loops, nested iteration, and algorithm tracing. Unit 3 review centers on constructors, private data, accessors, mutators, scope, static behavior, and the this keyword. Unit 4 review centers on traversals, data collections, searching, sorting, and responsible data use.

Resources Page

Know what each course resource is for.

This section can become the standalone resources page later. For now, the most important tools and course references are collected here.

IDE

JuiceMind

Our class Java IDE for writing, running, sharing, and checking code.

JV

Java Visualizer

Step through Java code line by line to see variables, objects, method calls, and output change as the program runs.

CSA

CSAwesome

Online AP CSA textbook with readings, active code, multiple choice, Parsons problems, and programming challenges.

AP

AP Classroom

College Board videos, topic questions, personal progress checks, multiple-choice practice, and free-response checks.

PDF

AP CSA Course and Exam Description

The official College Board reference for course topics, computational thinking practices, and exam expectations.

LAB

AP Labs and Projects

Students complete hands-on labs and projects such as Magpie, Consumer Review, unit programming projects, and class design projects. These experiences are where syntax, design, testing, documentation, and reflection come together.

  • Magpie Lab: chatbot logic, strings, conditionals, and program modification.
  • Consumer Lab: data, review analysis, ethical computing, and collections connections.
  • Unit projects: demonstrate cumulative understanding through original Java code.