🚀 Early Adopter Price: $39/mo for life --d --h --m --s Claim Your Price →
AP-CSP
Coming Soon
Expected availability: Summer 2026

This course is in active development. Preview the scope below and create a free account to be notified the moment it goes live.

Notify me
AP-CSP College Board Available Summer 2026

AP® Computer Science Principles

AP Computer Science Principles introduces foundational computing concepts, covering creative development, data analysis, algorithms, programming, computing systems, networks, and societal impact, preparing students for further study and real‑world problem solving.

120
Minutes
70
Questions
3/5
Passing Score
$98
Exam Cost

Who Should Take This

High‑school juniors and seniors, early‑college students, or career changers with basic digital literacy benefit from this AP‑level course. It suits learners aiming to solidify terminology, understand binary and internet protocols, and develop algorithmic thinking for future computing or data‑science pathways.

What's Covered

1 All five Big Ideas of the AP Computer Science Principles course framework (College Board, effective 2024-present): Big Idea 1 Creative Development
2 , Big Idea 2 Data
3 , Big Idea 3 Algorithms and Programming
4 , Big Idea 4 Computing Systems and Networks
5 , Big Idea 5 Impact of Computing

What's Included in AccelaStudy® AI

Adaptive Knowledge Graph
Practice Questions
Lesson Modules
Console Simulator Labs
Exam Tips & Strategy
20 Activity Formats

Course Outline

62 learning goals
1 Big Idea 1: Creative Development
2 topics

Program Design and Development

  • Describe the iterative development process including planning, designing, prototyping, testing, and refining a computational artifact.
  • Explain how collaboration among team members with diverse perspectives improves program design and helps identify errors and edge cases early.
  • Evaluate a program's documentation quality by assessing whether comments, variable names, and procedure descriptions enable another developer to understand and modify the code.

Abstraction in Program Development

  • Define abstraction in computing and identify examples of how abstraction reduces complexity by hiding unnecessary implementation details.
  • Explain how procedures (functions) serve as procedural abstractions that allow a programmer to reuse code and manage complexity in large programs.
  • Design a program that uses multiple levels of abstraction including user-defined procedures, parameters, and data representations to solve a real-world problem.
2 Big Idea 2: Data
3 topics

Binary and Data Representation

  • Convert between binary, decimal, and hexadecimal number representations and explain how computers use binary to store all types of data.
  • Explain how different types of data (numbers, text, images, sound) are encoded in binary using agreed-upon standards such as ASCII, Unicode, and RGB color models.
  • Calculate the number of bits required to represent a given number of distinct values and explain the relationship between bit depth and the range of representable values.
  • Describe overflow and round-off errors that result from finite precision in binary representations of integers and real numbers.

Data Compression

  • Distinguish between lossless and lossy compression techniques and identify common examples of each (ZIP, PNG for lossless; JPEG, MP3 for lossy).
  • Explain how lossless compression reduces file size without information loss using techniques such as run-length encoding and dictionary-based methods.
  • Evaluate the trade-offs between lossy and lossless compression for different media types, considering file size, quality, and intended use of the data.
  • Calculate the compression ratio for a given encoding scheme and determine the minimum number of bits required to losslessly encode a specific data set.

Data Analysis and Visualization

  • Describe how large data sets are collected, cleaned, and filtered to extract meaningful information using computational tools and techniques.
  • Explain how computing tools enable the discovery of patterns, trends, and correlations in data that would be impractical to identify through manual analysis.
  • Analyze potential sources of bias in data collection methods and explain how incomplete or biased data sets can lead to misleading conclusions.
  • Design a data processing pipeline that uses a program to read, filter, and visualize data from a real-world data set to answer a specific research question.
3 Big Idea 3: Algorithms and Programming
6 topics

Variables, Expressions, and Assignments

  • Identify variables, data types (integers, strings, Booleans), and assignment statements and trace the values stored in variables through a sequence of assignments.
  • Evaluate arithmetic, relational, and Boolean expressions using order of operations and predict the result of compound expressions involving AND, OR, and NOT operators.
  • Explain the difference between integer and floating-point data types and describe situations where the choice of data type affects the precision or correctness of a program.
  • Trace the values of multiple variables through a code segment that uses swap operations, accumulators, or counter patterns to verify the final output.

Control Structures

  • Explain how sequencing, selection (if/else), and iteration (loops) control the flow of program execution and identify each structure in given code segments.
  • Trace the execution of nested conditionals and nested loops step by step to predict program output for given inputs.
  • Write programs using selection and iteration to solve specified problems, choosing the appropriate control structure for the task requirements.

Procedures and Lists

  • Define procedures (functions) with parameters and return values and explain how they enable code reuse, modularity, and procedural abstraction.
  • Perform common list operations including accessing elements by index, appending, inserting, removing, and iterating through all elements using a loop.
  • Trace the behavior of procedures that accept list parameters by following the flow of control through function calls, parameter passing, and return statements.
  • Write a procedure that processes a list of data (searching, filtering, or accumulating) and returns a result, using iteration and conditional logic.

Algorithms

  • Describe the linear search algorithm and trace its execution on a list, identifying the number of comparisons needed in best, worst, and average cases.
  • Describe the binary search algorithm, explain why it requires a sorted list, and compare its efficiency to linear search for large data sets.
  • Compare the efficiency of algorithms informally using the concepts of reasonable time (polynomial) versus unreasonable time (exponential) as input size grows.
  • Explain what an undecidable problem is and provide an example such as the halting problem that no algorithm can solve for all possible inputs.
  • Analyze two algorithms that solve the same problem and evaluate which is more efficient based on the number of steps required as a function of input size.

Program Testing and Debugging

  • Identify common programming errors including syntax errors, logic errors, and runtime errors, and describe strategies for locating and correcting each type.
  • Design test cases including boundary cases and edge cases to verify that a program produces correct output for all valid inputs.
  • Analyze a program containing a logic error, identify the specific line or condition causing the incorrect behavior, and propose a correction.

Simulation and Modeling

  • Explain how simulations use computational models to represent real-world phenomena and identify the simplifications and assumptions that distinguish a model from reality.
  • Evaluate the advantages and limitations of using simulations instead of real experiments, considering factors such as cost, safety, speed, and accuracy.
  • Describe the role of random number generation in computational simulations and explain how randomness introduces variability into model outputs.
  • Design a simple simulation that models a real-world process using random inputs and iteration, and explain how increasing the number of trials improves the reliability of results.
4 Big Idea 4: Computing Systems and Networks
3 topics

The Internet

  • Describe the layered architecture of the Internet including the roles of IP addresses, DNS, routers, and the distinction between the Internet and the World Wide Web.
  • Explain how TCP and IP work together to enable reliable data transmission by breaking data into packets, routing them independently, and reassembling at the destination.
  • Explain the concept of fault tolerance in network design and describe how redundant paths ensure data can be delivered even when individual components fail.
  • Analyze a network diagram to determine whether removing a specific connection would prevent communication between two devices based on remaining redundant paths.
  • Explain the difference between bandwidth and latency in network communication and describe how each affects the user experience of different types of applications.
  • Describe how the Domain Name System (DNS) translates human-readable domain names to IP addresses and explain what happens when a DNS lookup fails.

Parallel and Distributed Computing

  • Distinguish between sequential, parallel, and distributed computing and identify tasks that benefit from parallel execution versus those that must run sequentially.
  • Calculate the speedup gained from parallel execution of independent tasks and explain why some problems cannot achieve linear speedup due to sequential dependencies.

Cybersecurity

  • Identify common cybersecurity threats including phishing, malware, DDoS attacks, and data breaches, and describe basic countermeasures for each.
  • Explain the role of encryption (symmetric and public-key) and digital certificates in securing data transmission and authenticating communication partners on the Internet.
  • Evaluate the trade-offs between security measures and usability, explaining how stronger security often increases complexity and may reduce system convenience.
5 Big Idea 5: Impact of Computing
3 topics

Beneficial and Harmful Effects

  • Identify both beneficial and harmful effects of a specific computing innovation and explain how the same innovation can have positive effects for some groups and negative effects for others.
  • Analyze how computing innovations have transformed a specific field (medicine, education, transportation, or communication) and evaluate both intended and unintended consequences.
  • Explain what the digital divide is, identify its causes (economic, geographic, demographic), and describe how it affects access to information and opportunities.
  • Describe how computing has enabled new forms of creative expression including digital art, music production, and interactive media that were not possible before computational tools.
  • Evaluate how the widespread adoption of social media platforms has affected communication, privacy, democracy, and mental health, citing both positive and negative evidence.

Bias and Ethics in Computing

  • Explain how algorithmic bias can arise from biased training data, biased design choices, or unrepresentative testing and give specific examples from real computing systems.
  • Evaluate the ethical implications of data collection practices including informed consent, data ownership, and the potential for surveillance and misuse of personal information.
  • Analyze a case study involving intellectual property in computing (software licensing, open source, creative commons) and evaluate the competing interests of creators, users, and society.

Crowdsourcing and Computing for Social Good

  • Describe how crowdsourcing and citizen science leverage distributed human and computational resources to solve problems that no single entity could address alone.
  • Construct an argument evaluating whether a specific computing innovation creates a net benefit or net harm to society, citing evidence about its economic, social, and ethical impacts.

Scope

Included Topics

  • All five Big Ideas of the AP Computer Science Principles course framework (College Board, effective 2024-present): Big Idea 1 Creative Development (10-13%), Big Idea 2 Data (17-22%), Big Idea 3 Algorithms and Programming (30-35%), Big Idea 4 Computing Systems and Networks (11-15%), Big Idea 5 Impact of Computing (21-26%).
  • Creative development: the iterative design process, collaboration in computing, program development with documentation, and the role of creativity and abstraction in software development.
  • Data: binary number systems, data compression (lossy and lossless), extracting information from data, using programs to process and visualize data, and the challenges of large-scale data collection and analysis.
  • Algorithms and programming: variables, assignments, expressions, control structures (sequencing, selection, iteration), procedures with parameters and return values, lists, searching and sorting algorithms, algorithmic efficiency, and undecidable problems.
  • Computing systems and networks: the Internet protocol suite (TCP/IP, HTTP, DNS), fault tolerance, parallel and distributed computing, and the layered architecture of computing systems.
  • Impact of computing: beneficial and harmful effects of computing innovations, digital divide, bias in computing, legal and ethical issues (intellectual property, privacy, security), crowdsourcing, and citizen science.
  • The AP CSP exam reference language and pseudocode conventions used in the Create Performance Task and the multiple-choice exam.
  • Computational thinking practices: developing algorithms, creating computational artifacts, abstracting, analyzing programs, and communicating about computing.

Not Covered

  • Object-oriented programming, inheritance, polymorphism, and class design covered in AP Computer Science A.
  • Specific programming language syntax beyond the AP CSP reference language; the exam is language-agnostic.
  • Advanced data structures (trees, graphs, hash tables), formal algorithm analysis (Big-O proofs), and operating system internals.
  • Hardware engineering, circuit design, assembly language, and computer architecture beyond the conceptual level covered in the AP framework.

Official Exam Page

Learn more at College Board

Visit

AP-CSP is coming soon

Adaptive learning that maps your knowledge and closes your gaps.

Create Free Account to Be Notified

Trademark Notice

AP® and Advanced Placement® are registered trademarks of the College Board. The College Board does not endorse this product.

AccelaStudy® and Renkara® are registered trademarks of Renkara Media Group, Inc. All third-party marks are the property of their respective owners and are used for nominative identification only.