AP Computer Science Principles
This is the canonical source for this curriculum.
Computational Thinking Practices
1. Computational Solution Design
Design and evaluate computational solutions for a purpose.
1.A
Investigate the situation, context, or task.
1.B
Determine and design an appropriate method or approach to achieve the purpose.
1.C
Explain how collaboration affects the development of a solution.
1.D
Evaluate solution options.
2. Algorithms and Program Development
Develop and implement algorithms.
2.A
Represent algorithmic processes without using a programming language.
2.B
Implement and apply an algorithm.
3. Abstraction in Program Development
Develop programs that incorporate abstractions.
3.A
Generalize data sources through variables.
3.B
Use abstraction to manage complexity in a program.
3.C
Explain how abstraction manages complexity.
4. Code Analysis
Evaluate and test algorithms and programs.
4.A
Explain how a code segment or program functions.
4.B
Determine the result of code segments.
4.C
Identify and correct errors in algorithms and programs, including error discovery through testing.
5. Computing Innovations
Investigate computing innovations.
5.A
Explain how computing systems work.
5.B
Explain how knowledge can be generated from data.
5.C
Describe the impact of a computing innovation.
5.D
Describe the impact of gathering data.
5.E
Evaluate the use of computing based on legal and ethical factors.
6. Responsible Computing
Contribute to an inclusive, safe, collaborative, and ethical computing culture.
6.A
Collaborate in the development of solutions.
6.B
Use safe and secure methods when using computing devices.
6.C
Acknowledge the intellectual property of others.