What is CS Principles?
In fall 2016, the College Board launched its newest AP® course, AP Computer Science Principles.
The course introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. The AP Program designed AP Computer Science Principles with the goal of creating leaders in computer science fields and attracting and engaging those who are traditionally underrepresented with essential computing tools and multidisciplinary opportunities.
For more information, visit http://collegeboard.org/APCSP.
Curriculum Resources and Features
- One-pager describing the course
- 2019 AP Endorsed Syllabus and Overview
- Curriculum Guide for teachers
- Course Materials List
- CS Principles Video Library
Code.org’s AP CS Principles Curriculum
Code.org is recognized by the College Board as an endorsed provider of curriculum and professional development for AP® Computer Science Principles. This endorsement affirms that all components of Code.org CS Principles’s offerings are aligned to the AP Curriculum Framework standards and the AP CS Principles assessment.
Using an endorsed provider affords schools access to resources including an AP CS Principles syllabus pre-approved by the College Board’s AP Course Audit, and officially recognized professional development that prepares teachers to teach AP CS Principles. Our curriculum is available at no cost for anyone, anywhere to teach.
Unit Overview
The Internet
What can be represented with a single bit and how do we get a single bit of information from one place to another?
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.
Digital Information
This unit further explores the ways that digital information is encoded, represented and manipulated. In this unit students will look at and generate data, clean it, manipulate it, and create and use visualizations to identify patterns and trends.
Algorithms and Programming
This unit introduces the foundational concepts of computer programming, which unlocks the ability to make rich, interactive apps. This course uses JavaScript as the programming language, and App Lab as the programming environment to build apps. They also explore the concepts learned in these lessons span all programming languages and tools.
Big Data and Privacy
The data rich world we live in also introduces many complex questions related to public policy, law, ethics and societal impact. In many ways this unit acts as a unit on current events. It is highly likely that there will be something related to big data, privacy and security going on in the news at any point in time. The major goals of the unit are 1) for students to develop a well-rounded and balanced view about data in the world around them and both the positive and negative effects of it and 2) to understand the basics of how and why modern encryption works.
Building Apps
This unit continues to develop students’ ability to program in the JavaScript language, using Code.org’s App Lab environment to create a series of small applications (apps) that live on the web, each highlighting a core concept of programming. In this unit students transition to creating event-driven apps. The unit assumes that students have learned the concepts and skills from Unit 3, namely: writing and using functions, using simple repeat loops, being able to read documentation, collaborating, and using the Code Studio environment with App Lab.
AP Explore PT Prep
This unit contains lessons to help students with preparation and execution of the AP® Performance Task: Explore – Impact of Computing Innovations
AP Create PT Prep
This unit contains lessons to help students with preparation and execution of the AP® Performance Task: Create – Applications from Ideas