AP Computer Science Principles
Computer Science Principles (CSP) curriculum is designed to introduce students to the central ideas of computer science, to instill ideas and practices of computational thinking, and to have students engage in activities that show how computing changes the world. The course is rigorous and rich in computational content, includes computational and critical thinking skills, and engages students in the creative aspects of the field.
The main contents are described as follows.
Unit 1: The Digital Representation of Information
This unit sets the foundation for thinking about the digital (binary) representation of information and how that affects the world we live in. This unit explores the technical challenges and questions that arise from the need to represent digital information in computers and transfer it between people and computational devices. Topics include: the digital representation of information - numbers, text, images, and communication protocols.
Unit 2: The Internet
This unit largely explores the structure and design of the Internet and the implications of those design decisions including the reliability of network communication, the security of data, and personal privacy. Topics include the Internet Protocol (IP), DNS, TCP/IP, cryptography and other security and hacking concerns. The unit also makes the link between the existence of computationally hard problems and encryption schemes that are “hard” for computers to crack.
Unit 3: Programming
Unit 4: Data
In this unit students continue programming and building apps, but now with a heavier focus on data. Being able to extract knowledge from data is an important aspect of CS Principles and in this unit students will do that in a number of ways. Students will write programs that generate data to model or simulate a scenario they wish to investigate. Students will process large lists of data imported from other sources and also pull data from live data APIs. Students will also more fully use App Lab’s cloud data storage capabilities to create databases to use with their own apps.
Unit 5 - Performance Tasks
This unit is primarily set aside to ensure that students have enough time in class to work on and complete their performance tasks for submission.
The course will enable students to gain the skills in Computational Thinking Practices as define by the College Board:
P1: Connecting Computing
Identify impacts of computing.
Describe connections between people and computing.
Explain connections between computing concepts.
P2: Creating Computational Artifacts
Create an artifact with a practical, personal, or societal intent.
Select appropriate techniques to develop a computational artifact.
Use appropriate algorithmic and information management principles.
Explain how data, information, or knowledge is represented for computational use.
Explain how abstractions are used in computation or modeling.
Describe modeling in a computational context.
P4: Analyzing Problems and Artifacts
Evaluate a proposed solution to a problem.
Locate and correct errors.
Explain how an artifact functions.
Justify appropriateness and correctness of a solution, model, or artifact.
Explain the meaning of a result in context.
Describe computation with accurate and precise language, notations, or visualizations
Summarize the purpose of a computational artifact.
Collaborate with another student in solving a computational problem.
Collaborate with another student in producing an artifact.
Share the workload by providing individual contributions to an overall collaborative effort.
Foster a constructive, collaborative climate by resolving conflicts and facilitating the contributions of a team member
Exchange knowledge and feedback with a partner or team member.
Review and revise their work as needed to create a high-quality artifact.