Specification points
College Board AP Computer Science Principles computer-science-principles
106 points in 5 topics, with College Board's codes and titles.
Codes and titles are read by a script from College Board's published specification and have not been checked by a person. What each point covers is in the specification itself: College Board’s specification.
1 Creative Development
- 1.1 Collaboration
- CRD-1.A Improving innovations through collaboration
- CRD-1.B Innovations developed by groups
- CRD-1.C Interpersonal skills in collaboration
- 1.2 Program Function and Purpose
- CRD-2.A Purpose of a computing innovation
- CRD-2.B How a program or code segment works
- CRD-2.C Program inputs
- CRD-2.D Program outputs
- 1.3 Program Design and Development
- CRD-2.E Developing a program through a development process
- CRD-2.F Designing a program and its user interface
- CRD-2.G Program documentation
- CRD-2.H Acknowledging code from other sources
- 1.4 Identifying and Correcting Errors
- CRD-2.I Finding and correcting errors
- CRD-2.J Test inputs and expected outputs
2 Data
- 2.1 Binary Numbers
- DAT-1.A Representing data with bits
- DAT-1.B Consequences of representing data in bits
- DAT-1.C Binary numbers
- 2.2 Data Compression
- DAT-1.D Comparing data compression algorithms
- 2.3 Extracting Information from Data
- DAT-2.A Information extracted from data
- DAT-2.B Information extracted from metadata
- DAT-2.C Challenges of processing data
- 2.4 Using Programs with Data
- DAT-2.D Extracting information from data with a program
- DAT-2.E Programs for insight from data
3 Algorithms and Programming
- 3.1 Variables and Assignments
- AAP-1.A Variables for values
- AAP-1.B Values after assignment
- 3.2 Data Abstraction
- AAP-1.C Variables for lists and strings
- AAP-1.D Data abstraction with lists
- 3.3 Mathematical Expressions
- AAP-2.A Sequencing without a programming language
- AAP-2.B Sequential code statements
- AAP-2.C Arithmetic expressions
- 3.4 Strings
- AAP-2.D String expressions
- 3.5 Boolean Expressions
- AAP-2.E Relational operators
- AAP-2.F Logical operators
- 3.6 Conditionals
- AAP-2.G Selection without a programming language
- AAP-2.H Conditional statements
- 3.7 Nested Conditionals
- AAP-2.I Nested conditional statements
- 3.8 Iteration
- AAP-2.J Iteration without a programming language
- AAP-2.K Iteration statements
- 3.9 Developing Algorithms
- AAP-2.L Comparing algorithms’ results
- AAP-2.M Creating, combining and modifying algorithms
- 3.10 Lists
- AAP-2.N List indexing and list procedures
- AAP-2.O Traversing lists
- 3.11 Binary Search
- AAP-2.P Binary search
- 3.12 Calling Procedures
- AAP-3.A Calling procedures
- 3.13 Developing Procedures
- AAP-3.B Procedural abstraction and complexity
- AAP-3.C Writing procedures
- 3.14 Libraries
- AAP-3.D Libraries and existing code
- 3.15 Random Values
- AAP-3.E Random values
- 3.16 Simulations
- AAP-3.F Simulations
- 3.17 Algorithmic Efficiency
- AAP-4.A Algorithmic efficiency and heuristics
- 3.18 Undecidable Problems
- AAP-4.B Undecidable problems
4 Computer Systems and Networks
- 4.1 The Internet
- CSN-1.A Devices working together in a network
- CSN-1.B How the Internet works
- CSN-1.C Packets on the Internet
- CSN-1.D The Internet and the World Wide Web
- 4.2 Fault Tolerance
- CSN-1.E Fault tolerance
- 4.3 Parallel and Distributed Computing
- CSN-2.A Sequential, parallel and distributed solutions
- CSN-2.B Benefits and challenges of parallel and distributed computing
5 Impact of Computing
- 5.1 Beneficial and Harmful Effects
- IOC-1.A Beneficial and harmful effects of innovations
- IOC-1.B Unintended impacts of innovations
- 5.2 Digital Divide
- IOC-1.C The digital divide
- 5.3 Computing Bias
- IOC-1.D Bias in computing innovations
- 5.4 Crowdsourcing
- IOC-1.E Problem solving at scale
- 5.5 Legal and Ethical Concerns
- IOC-1.F Legal and ethical concerns in computing
- 5.6 Safe Computing
- IOC-2.A Privacy risks from personal data
- IOC-2.B Protecting and misusing computing resources
- IOC-2.C Unauthorised access to computing resources