β United States Computer Science Principles
United States Β· College BoardSyllabus
Computer Science Principles syllabus, dot point by dot point
Every dot point in the United States Computer Science Principlessyllabus, with a focused answer for each one. Click any dot point for a worked explainer, past exam questions, and links to related dot points. Written by Claude Opus 4.8, Anthropic's latest AI.
Big Idea 1: Creative Development
Module overview β- How does collaboration make a computing innovation better, and how do programmers work together effectively?Topic 1.1 Collaboration: collaboration produces a program that reflects diverse perspectives, and effective collaboration uses defined roles, consensus building and tools such as pair programming.9 min answer β
- What kinds of errors do programs have, and how do programmers find and fix them?Topic 1.4 Identifying and Correcting Errors: programs contain logic, syntax, runtime and overflow errors, and programmers find and fix them by testing with carefully chosen inputs and debugging.10 min answer β
- How do programmers move from an idea to a working program using an iterative design process?Topic 1.3 Program Design and Development: programs are developed iteratively through investigating, designing, prototyping and testing, using tools such as program requirements, specifications and feedback.9 min answer β
- What does a program do, who is it for, and how do inputs, outputs and behavior define its purpose?Topic 1.2 Program Function and Purpose: a program is a sequence of instructions that accomplishes a goal; programs receive input, produce output, and their behavior is shaped by purpose and intended users.9 min answer β
Big Idea 2: Data
Module overview β- How do computers represent all data using only bits, and what are the consequences of fixed-size representation?Topic 2.1 Binary Numbers: computers represent all data with bits (binary digits); numbers, text, images and sound are encoded in binary, and fixed bit-widths cause overflow and rounding.10 min answer β
- How can data be made smaller, and when does compression lose information?Topic 2.2 Data Compression: compression reduces the number of bits used to store data; lossless compression preserves all information, while lossy compression discards some to save more space.9 min answer β
- How do we turn raw data into useful information, and what makes data meaningful?Topic 2.3 Extracting Information from Data: information is extracted from data through processing, filtering, transforming and combining data sets, and correlation does not imply causation.9 min answer β
- How do programs process large data sets efficiently to clean, search, filter and visualize data?Topic 2.4 Using Programs with Data: programs process large data sets through cleaning, filtering, classifying and transforming data, often using lists and iteration to scale to large amounts of data.10 min answer β
Big Idea 3: Algorithms and Programming
Module overview β- How does binary search beat linear search, and how do we compare the efficiency of algorithms?Topic 3.11/3.17/3.18 Binary Search and Efficiency: binary search finds a value in a sorted list far faster than linear search, and algorithms are compared by efficiency, with some problems being unsolvable or only approximable.11 min answer β
- How do conditionals let a program make decisions, and how do nested conditionals handle several cases?Topic 3.6/3.7 Conditionals and Nested Conditionals: conditional (IF/ELSE) statements select which code runs based on a Boolean condition, and nested conditionals handle multiple decision paths.10 min answer β
- How does data abstraction, especially the use of lists, let programmers manage and reuse data?Topic 3.2 Data Abstraction: data abstraction manages complexity by giving a collection of data a single name, most commonly using a list to represent many values as one variable.9 min answer β
- What is an algorithm, and how are sequencing, selection and iteration combined to solve problems?Topic 3.9 Developing Algorithms: an algorithm is a finite set of instructions that accomplishes a task, built by combining sequencing, selection and iteration, and different algorithms can solve the same problem.10 min answer β
- How do procedures and libraries let programmers reuse code and manage complexity through abstraction?Topic 3.12-3.14 Procedures and Libraries: procedures are named, reusable blocks with parameters and return values, and libraries and APIs package procedures so programmers reuse code through abstraction.11 min answer β
- How do loops repeat instructions, and how do you avoid infinite loops and off-by-one errors?Topic 3.8 Iteration: iteration (REPEAT n TIMES and REPEAT UNTIL) repeats a block of code, with the number of repetitions controlled by a count or a condition.10 min answer β
- How do lists store collections of data, and how do you access, traverse and modify their elements?Topic 3.10 Lists: a list is an ordered collection of elements accessed by index; AP CSP lists are 1-indexed and support traversal and modification with APPEND, INSERT and REMOVE.11 min answer β
- How do programs evaluate arithmetic, MOD and Boolean expressions, and how do logical operators combine conditions?Topic 3.3/3.5 Mathematical and Boolean Expressions: programs evaluate arithmetic (including MOD) and Boolean expressions using relational and logical operators (AND, OR, NOT) that produce true or false.10 min answer β
- How do simulations model real phenomena, and how are random values used to add variability?Topic 3.15/3.16 Random Values and Simulations: simulations are simplified, abstract models of real phenomena that often use random values to represent variability, trading detail for speed, safety and repeatability.10 min answer β
- What are the limits of computation, and what does it mean for a problem to be undecidable?Topic 3.18 Undecidable Problems: some problems cannot be solved by any algorithm for all inputs (undecidable problems), and some solvable problems take unreasonable time, so heuristics give approximate answers.9 min answer β
- How do variables store and update values, and how does the assignment operator work?Topic 3.1 Variables and Assignments: a variable is a named reference to a stored value, and the assignment operator stores the value of an expression into a variable.10 min answer β
Big Idea 4: Computer Systems and Networks
Module overview β- How does redundancy make a network fault tolerant, so it keeps working when parts fail?Topic 4.2 Fault Tolerance: a system is fault tolerant if it continues to operate when some components fail; redundancy (multiple paths or copies) is the main way networks achieve fault tolerance.9 min answer β
- How do parallel and distributed computing speed up work, and what are the limits of the speedup?Topic 4.3 Parallel and Distributed Computing: parallel computing runs tasks simultaneously on multiple processors and distributed computing spreads work across multiple computers, improving speed but with limits.10 min answer β
- How does the Internet move data between devices using addressing, packets and shared protocols?Topic 4.1 The Internet: the Internet is a network of networks that moves data in packets using protocols such as IP and TCP, with addressing, routing and standards enabling scalable communication.11 min answer β
Big Idea 5: Impact of Computing
Module overview β- How can a single computing innovation produce both beneficial and harmful effects, often unintended?Topic 5.1 Beneficial and Harmful Effects: computing innovations have both beneficial and harmful effects on society, economy and culture, and effects may be intended or unintended.9 min answer β
- How does bias get into computing systems, and how can it be reduced?Topic 5.3 Computing Bias: computing innovations can reflect existing human biases through biased data or design choices, and bias can be embedded intentionally or unintentionally.9 min answer β
- How does crowdsourcing harness many people through computing to solve problems and gather data?Topic 5.4 Crowdsourcing: crowdsourcing uses the input of a large number of people, often via the Internet, to obtain ideas, services, content, funding or data.8 min answer β
- What legal and ethical responsibilities come with creating and using computing innovations, including intellectual property and privacy?Topic 5.5 Legal and Ethical Concerns: computing raises legal and ethical issues including intellectual property, licensing, plagiarism, privacy and the responsible use and sharing of material and data.9 min answer β
- How do we protect personal data and stay safe online against threats like malware and phishing?Topic 5.6 Safe Computing: personal data is collected and stored by computing systems, and safe computing uses authentication, encryption and awareness of threats such as malware and phishing to protect it.10 min answer β
- Who has access to computing and the Internet, and how does unequal access affect opportunity?Topic 5.2 The Digital Divide: the digital divide is the unequal access to computing devices and the Internet across groups, shaped by socioeconomic, geographic and demographic factors.9 min answer β