Bonita High School
AP Computer Science Principles
Jump to Mission Units Workflow Assessment Review Resources
Creativity, computational thinking, and programming

AP Computer Science Principles

Use computing to understand—and improve—the world.

AP Computer Science Principles is a college-level introduction to the breadth of computing. You will design solutions, build and analyze programs, work with data, explore how the Internet functions, and evaluate how computing innovations affect people and society.

Course Mission & Philosophy

Everyone belongs in computer science.

Our Mission

Computing is more than writing code. It is a medium for creative expression, a way to investigate information, and a practical tool for solving real problems. In this class, we use experience before formality: explore an idea, test it, explain what happened, and then connect the experience to precise vocabulary and notation.

This is not a course only for future computer science majors. Computational thinking helps people break large problems into manageable parts, recognize patterns, evaluate evidence, design repeatable processes, and communicate solutions clearly.

Those habits are valuable in business, healthcare, science, engineering, the arts, public service, and many other fields. Understanding how software and data work will help you communicate more effectively with technical teams and use AI-assisted tools thoughtfully to prototype software that addresses authentic needs.

Dr. John McGarvey

Instructor

Dr. John C. McGarvey

Through hands-on projects, collaboration, and exploration, you will design digital solutions and evaluate the impacts of modern technology. The goal is not simply to produce a correct answer. You should be able to describe your thinking, explain why a solution works, learn from unsuccessful attempts, and revise your approach.

Our class-long question

How can we use computing, data, collaboration, and responsible design to create solutions that are useful, understandable, and worth sharing?

Class Overview

Five connected units, one complete computing journey

The class is organized into units that combine programming with the five AP CSP Big Ideas. Programming is not isolated in one part of the course: students repeatedly design, build, trace, explain, and improve programs as new computing concepts are introduced.

Unit 1

Computer Science & Programming Foundations

Students explore what computer science is, how computers execute instructions, and how collaboration, algorithms, testing, and debugging support creative development.

  • Computer systems, software, and languages
  • Algorithms and program purpose
  • Creative development and collaboration
  • Snap! programming foundations
Unit 2

Digital Information & Programming

Students connect variables and program logic to the ways computers represent, transform, compress, and interpret digital information.

  • Binary and data representation
  • Variables, expressions, and conditionals
  • Data compression and abstraction
  • Using data to discover information
Unit 3

Abstraction & Data Structures

Students use procedures, parameters, lists, iteration, and traversals to manage complexity and create reusable solutions.

  • Procedures and parameters
  • Lists and data abstraction
  • Loops, traversals, and simulations
  • Algorithm analysis and testing
Unit 4

Computer Systems & Networks

Students examine how the Internet moves information and how computing systems use distributed, parallel, and sequential processing.

  • Internet protocols and packets
  • Fault tolerance and scalability
  • Parallel and distributed computing
  • Cybersecurity foundations
Unit 5

Impact, Innovation & Create

Students evaluate the benefits and risks of computing innovations, consider privacy and access, and apply the full development process to original JavaScript programs.

  • Bias, privacy, security, and the digital divide
  • Computing innovations and evidence
  • Responsible use of data and AI
  • Create performance task preparation
30% of AP Score

Create Performance Task

Students design a program that solves a problem, supports an interest, enables innovation, or expresses creativity. College Board provides at least nine hours of class time for the official task.

  • Submit: final program code, an individual video, and an individual Personalized Project Reference (PPR).
  • Program: include input, output, a list that manages complexity, and a student-developed procedure with at least one meaningful parameter.
  • Algorithm: the selected procedure must include sequencing, selection, and iteration, and the program must call that procedure.
  • Video: show the program running with input, functionality, and output in no more than one minute.
  • Exam connection: use the PPR to answer two written-response questions containing four prompts during the 60-minute exam section.
Read the official student directions
AP framework: Across these class units, students revisit Creative Development, Data, Algorithms and Programming, Computer Systems and Networks, and Impact of Computing.
Class Workflow

Design, pair, test, explain, revise

Programming labs are completed during class so students have time to collaborate, ask questions, test ideas, and receive feedback while they work.

Pair Programming

  • Partners discuss the goal and plan the algorithm before coding.
  • One student serves as the driver while the other serves as the navigator.
  • Partners switch roles regularly so both students reason and code.
  • Both students must be able to trace, explain, and revise the solution.
  • Collaboration means contributing ideas—not copying a partner's work.
What matters most: A polished answer is less valuable than being able to explain your reasoning, identify what did not work, and show how evidence guided your revision.

AP CSP Skills and Practices

  1. Computational Solution Design

    Investigate: Analyze the problem, context, or user needs.

    Design: Choose the right approach and plan a method to solve the problem.

  2. Algorithms and Program Development

    Represent: Show how an algorithm works without needing a specific programming language.

    Implement: Write, test, and apply the algorithm in code.

  3. Abstraction in Program Development

    Generalize: Use variables to represent different data sources.

    Manage: Use abstraction, such as functions or lists, to handle complex program details.

  4. Code Analysis

    Explain: Describe what a specific block of code does.

    Evaluate: Determine the final results or find errors in a program.

  5. Computing Innovations

    Understand Systems: Explain how computing hardware and networks work.

    Analyze Data: Learn how computers generate knowledge from raw data.

  6. Responsible Computing

    Collaborate: Work safely and effectively with a team to build solutions.

    Ethics: Use digital tools safely, securely, and ethically.

AP Computer Science Principles Course Overview

AP Assessment

Assessment Structure

The AP assessment combines a 70-question digital multiple-choice section with the Create performance task and written responses based on the student's own project.

Weight 70% Exam

Section I: Multiple-Choice

70 Questions | 120 Minutes

57 Single-select 5 Reading passage 8 Multiple-select
Weight 30% Project

Section II: Create Performance Task

In-Class Project

9 hours in class Code, video & project reference 2 written-response questions | 60 minutes
Review Page

Review is active practice, not rereading.

Use this review flow to retrieve course concepts, rebuild algorithms, trace pseudocode, and prepare to explain the code in your Personalized Project Reference on the AP exam.

Friday May 14 2027

AP Computer Science Principles Exam

Exam Date: Friday, May 14, 2027

Start Time: 8:00 AM local time (Session 1)

Digital Portfolio Deadline: April 30, 2027, at 11:59 PM ET (to submit your Create performance task components)

Session 1 8:00 AM local time Create deadline: April 30
View AP Central 2027 exam dates
1

Recall

Retrieve vocabulary, concepts, and AP pseudocode patterns without looking at the answer first.

2

Rebuild Code

Use Parsons problems to put algorithm steps in order and recognize the structure of a working solution.

3

Trace

Track variables, list values, conditions, loop iterations, procedure calls, and output. Slow tracing beats fast guessing.

4

Review Create Task Code

Use your Personalized Project Reference to practice FRQ prompts about program purpose, procedure calls, sequencing, selection, iteration, list complexity, testing, and errors.

Resources Page

Tools for success

The most important platforms and course references we will use throughout the year.

CB

AP CSP Course Page

The official College Board overview of course content, computational thinking practices, classroom resources, and exam information.

PDF

Course and Exam Description

The official framework for AP CSP topics, learning objectives, computational thinking practices, and assessment expectations.

AP

AP Classroom

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

IDE

JuiceMind

Our browser-based IDE for individual JavaScript projects, writing and running code, and sharing work with the teacher during the second semester.

S!

Snap!

Our visual programming environment for designing algorithms, collaborating on labs, and exploring creative coding.

Ref

AP CSP Reference

The official College Board pseudocode reference sheet you will use on the AP exam.