Computer Science Principles

What is CS Principles?

Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. More than a traditional introduction to programming, it is a rigorous, engaging, and approachable course that explores many of the foundational ideas of computing so all students understand how these concepts are transforming the world we live in.

This year-long course can be taught as an AP or non-AP course - no prerequisites required for students or for teachers new to computer science! In addition, our curriculum is available at no cost for anyone, anywhere to teach. For more information about our goals and approach to our courses, please see our curriculum values and our professional learning values.

Interested in teaching the course? Find out more!

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 offers hands-on workshops and online support. Over 80,000 teachers have been through our professional development workshops and thousands more attend every month. This year, we even have virtual professional learning options available!

Whether you’re brand new to computer science or an experienced tech teacher looking for the best way to use the curriculum, our Professional Learning Program is a great way to get started. And teachers love it! Over 90% rank it the best professional development ever.'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 this course.

Curriculum Resources and Features

The Curriculum Guide contains details about the classroom and student practices that flow throughout the course, overviews of each unit, and implementation considerations.

Daily lesson plans come with detailed instructions, activity guides, assessments, standards mappings, and more.

Create and manage your classroom sections, check student progress, administer assessments, and integrate with your Google or Clever classroom - all from your Teacher Dashboard!


Teaching CS Principles as an AP course? Don't forget to submit the 2019-20 AP Endorsed Syllabus for the AP course audit.

Students get hands on experience 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.


Don't miss these additional resources:

Unit Overview

Unit 1

The Internet

Students learn how the multi-layered systems of the Internet function as they collaboratively solve problems and puzzles about encoding and transmitting data, both 'unplugged' and using's Internet Simulator.

Unit 2

Digital Information

Students learn how complex information like text and images is stored in a computer and the way compression helps reduce the size of those files.

Unit 3

Algorithms and Programming

In this unit, students learn the JavaScript language with turtle programming in's App Lab. Students are introduced the general principles of algorithms and program design that are applicapble to any programming language.

Unit 4

Big Data and Privacy

Students research current events around the complex questions related to public policy, law, ethics, and societal impact. Students are also introduced to the basics of how and why modern encryption works.

AP Explore Performance Task

Explore - Impact of Computing Innovations

This unit provides activities and resources for students to prepare for and complete the AP Explore Performance Task, which requires students to identify a computing innovation, explore its impact, and create a related digital artifact.

Unit 5

Building Apps

Students continue learning how to program in the JavaScript language. Using's App Lab environment, students create a series of applications that live on the web. Each app highlights a core concept of programming.

AP Create Performance Task

Create - Applications from Ideas

This unit provides activities and resources for students to prepare for and complete the AP Create Performance Task, which asks students to develop a program on a topic that interests them or one that solves a problem.


Making Data-backed Apps

After the AP Test, students learn how to analyze data using spreadsheets and use App Lab's database capabilities to create apps that store data in the cloud.

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.

Keep up with CS Principles

Let us know how we're doing

We are always looking for ways to improve our courses. If something's not quite working, or you have ideas about features that you'd like to see, we'd love to hear from you!

Subscribe for the latest news

Sign up for our monthly emails, which contain the latest news about tools, videos, and other important updates for CS Principles.

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.

Spread the word about CS Principles

Hand out these fliers around your school and consider sending home to parents.

image image

Hang these posters in your classroom and around your school:

image image image image

Share these videos with students, teachers, and administrators:

Inspire students

Recruit teachers

Engage administrators

Frequently Asked Questions

What materials do I need for this course?

Required Materials:

This course requires that students have access to computers with a modern web browser. At this time, our courses are not optimized for tablets or mobile devices. For more details, check out's technology requirements.

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, several lessons call for specific items. You can find these listed below as well as our suggestions for alternatives:

Optional Materials

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.

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.

Is CS Principles mapped to standards?

CS Principles was written using the AP CS Principles Framework and prepares students for the AP CS Principles exam. The course has also been aligned to the newly revised 2017 CSTA standards. A summary of standards mappings can be found at

What is the recommended timing for teaching CS Principles?

We recommend that CS Principles be taught as a full year course, assuming that you meet with students daily or nearly daily for 45 or more minutes. Full-year schedules where students are in class for a similar amount of time per week will also work.

It is possible to teach the course on a semester block schedule, though we highly recommend this implementation only be used in the fall semester. Since the AP Performance Tasks are due in late April and require 20 dedicated hours of class time to complete, most schools find there is not enough time to complete the course on a block schedule in the spring.

Are there supports in CS Principles for students with learning differences or disabilities?

Yes. has collaborated closely with partners to make our CS Principles curriculum accessible. Every lesson includes detailed recommendations from the accessCSP project from Outlier Research on how activities can be supplemented and modified to meet the needs of students with learning disabilities and attention deficit disorders, including reading disorders, written expression disorders, math disorders, and language disorders. In addition, the Lesson-Specific Adjustment Guides identify the underlying psychological process that each adjustment addresses, including processes related to: aspects of reasoning; areas of language; different types of memory; fine motor; processing, timing, and pacing; aspects of visual processing; and executive functioning, attention, and social skills.

Do you have blind or visually impaired students in your class?

Our partners at AccessCSforAll have created an accessible version of the curriculum and online tools designed specifically for students with these disabilities. AccessCSforAll also runs a summer professional development to help teachers learn how to support these students.

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?

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. Click here to learn more.

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.