Computer Science Principles

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

Computer Science Principles

Recommended for Grades 9-12

Computer Science Principles is a course designed to prepare students (and teachers) who are new to computer science for the AP CS Principles exam. The course covers many topics including the Internet, Big Data and Privacy, and Programming and Algorithms.

Professional Learning

Our middle and high school programs offer year-round support. The program kicks off with a 5-day summer workshop where you'll have an opportunity to work hands-on with the curriculum and meet other teachers from your area. Throughout the year, we offer online support for upcoming units, forum support, and 1-day quarterly workshops. You don't need any prior computer science experience to get started. And teachers love it! 90% rank it the best professional development ever.

General applications for the 2018-19 CS Principles Professional Learning Program will open in January, 2018.

If you are interested in joining in 2018-19, sign up below to be added to our contact list.'s AP CS Principles Curriculum AP CSP Endorsed 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 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.

Curriculum Resources and Features has daily lesson plans that come with detailed instructions, activity guides, assessments, standards mappings, and more

Students get hands on with concepts like binary and pixels through computational widgets

Quickly create shareable apps with's App Lab - an online block to text, JavaScript programming environment.


Unit Overview

Link Unit Description
Internet Simulator Unit 1 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.
binary magic Unit 2 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.
App Lab Unit 3 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, but the concepts learned in these lessons span all programming languages and tools.
Graph Unit 4 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.
App Unit 5 Building Apps This unit continues to develop students’ ability to program in the JavaScript language, using’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.
survey AP Tasks AP Exam and Performance Tasks Class time and lessons devoted to preparation and execution of the AP® Performance Tasks: Explore and Create.
data button post-AP Post-AP material - Making Data-backed Apps After the AP test, many people have a few weeks left of school. We have some material and lessons that teach students how to use App Lab's database capabilities to make apps that store data in the cloud so it can be retrieved later.


Use, share, and customize the resources, as they are distributed under a Creative Commons Attribution Non-Commerical ShareAlike License see our Terms of Service. If you are interested in licensing materials for commercial purposes, contact us.

Watch a video from the CS Principles Video Library

Chat about CS Principles in the forum

We have forums for educators to discuss and trade ideas about CS Principles and talk about the curriculum. forums are used for all of our courses K-12 and can be found at For CS Principles there are two forums that are most useful:

Frequently Asked Questions

What materials do I need for this course?

Required Materials:

This course requires students have access to computers with a modern web browser. For more details, check out's technology requirements, here.

Many lessons have handouts that are designed to guide students through activities. While these handouts are not required, we highly recommend their use. In addition to handouts, you will need the following:

Optional Materials

The following items are called for in lessons, but alternatives are offered below:

The following supplies are completely optional but will be useful to have on hand for various lessons:

How can I access answer keys?

With an approved teacher account you can find answer keys in a blue "Teacher Only" panel that shows in the online lessons and activities.

For teachers in our professional learning program will automatically be approved to view answer keys. If you need an approved teacher account, any teacher can apply for Code Studio access to protected teacher-only materials (answer keys, etc) through this form.

How can I communicate with other teachers who are using the curriculum?

Check out our forum at There you'll find a space for general CS Principles discussion as well as unit- and lesson-specific threads.

Can I give feedback on the lessons?

Yes, please! Our desire is that the curriculum will be a living document and not something set in stone. We are open to changes or alternatives to lessons so please send us your feedback by using the CS Principles forum.

How/Where can I get professional development for this course?

We have an in-person professional learning program... click here to learn more!

Already interested? Join our contact list and we'll be in touch when applications are open.

How can I learn about what's new or changing with the curriculum?

We send out monthly updates! Sign up for future emails.

Ideas and Inspirations

Please see this page about CS Principles Inspirations to read about the influential works in computer science education that form some of the course's philosophical underpinnings.

AP® is a registered trademark of the College Board.