The visual guide to
AP® Computer Science Principles
5 units, 98 topics. Each topic is explained in writing, drawn as a lesson you can watch, and checked with practice questions.
/
Each unit is as wide as its share of the exam's multiple-choice section.Filled: topics you've opened.
Big Idea 1Creative Development
- Collaboration and User Feedback
- Program Purpose and Function
- Program Inputs and Events
- Program Outputs and Flow of Control
- The Iterative Development Process
- Requirements, Specifications, and Interface Design
- Syntax, Logic, and Run-Time Errors
- Overflow Errors
- Testing with Defined Inputs and Edge Cases
- Debugging by Tracing and Isolating a Bug
Big Idea 2Data
- Bits, Bytes, and Representing Everything Digitally
- Counting in Binary and Place Value
- Converting Between Binary and Decimal
- Representing Color with Bits
- The Same Bits Meaning Different Things
- Limits of Bits: Overflow and Round-off
- Analog Data, Sampling, and Digital Approximation
- Lossless Compression
- Lossy Compression
- Redundancy and How Much Compression You Get
- From Data to Information
- Correlation and Causation
- Metadata
- Cleaning Data and Bias in Collection
- Filtering and Transforming Data with a Program
- Visualizing Data and Charts That Mislead
- Clustering, Classifying, and the Scale of Big Data
Big Idea 3Algorithms and Programming
- Variables and Assignment
- Tracing Assignment Statements
- Lists, Indices, and Strings
- Data Abstraction with Lists
- Algorithms and Sequencing
- Arithmetic Operators and Order of Operations
- The MOD Operator
- Strings, Concatenation, and Substrings
- Relational Operators and Boolean Values
- Logical Operators NOT, AND, and OR
- Selection and IF Statements
- IF/ELSE and Which Branch Runs
- Nested Conditionals
- Rewriting Nested Conditionals as Boolean Expressions
- REPEAT n TIMES
- REPEAT UNTIL and the Condition Check
- Infinite Loops and Off-by-One Errors
- Comparing Algorithms That Look Alike
- Building New Algorithms from Existing Ones
- List Indexing and List Procedures
- Traversing a List
- Standard List Algorithms: Sum, Average, Max, and Count
- Linear Search
- Binary Search: Halving the Search Space
- Counting Binary Search Steps
- Procedure Calls, Parameters, and Arguments
- Return Values and the Flow of Control
- Procedural Abstraction and Modularity
- Writing Procedures with Parameters
- Libraries and APIs
- Random Values
- Simulations as Abstractions
- Randomness and Bias in Simulations
- Measuring Efficiency by Counting Steps
- Reasonable and Unreasonable Running Time
- The Traveling Salesman and Combinatorial Explosion
- Heuristics and Good-Enough Answers
- Decidable and Undecidable Problems
- The Halting Problem
Big Idea 4Computer Systems and Networks
- Computing Devices, Systems, and Networks
- Paths and Routing Between Two Devices
- Protocols and Open Standards
- Packets: Splitting, Routing, and Reassembly
- IP, TCP, and UDP
- Bandwidth and Latency
- DNS: Turning a Name into an Address
- The Internet, the World Wide Web, and HTTP
- Redundancy and Multiple Paths
- What Happens When a Link Fails
- Single Points of Failure and Scalability
- Sequential, Parallel, and Distributed Computing
- Calculating Speedup
- Why Adding Processors Stops Helping
- Distributed Computing at Scale
Big Idea 5Impact of Computing
- Beneficial and Harmful Effects
- Innovations Used Beyond Their Intended Purpose
- Recommendation Loops and Narrowing Feeds
- The Digital Divide
- What Widens and What Closes the Divide
- Bias in the Data a System Learns From
- Bias Built into an Algorithm
- Crowdsourcing and Citizen Science
- Intellectual Property and Copyright
- Creative Commons, Open Source, and Open Access
- Personally Identifiable Information
- Aggregating Data to Deduce Private Facts
- Authentication and Multifactor Authentication
- Symmetric and Public Key Encryption
- Certificate Authorities and the Chain of Trust
- Phishing, Keylogging, and Rogue Access Points
- Viruses, Malware, and Software Updates