Your browser is not supported. Please upgrade your browser to one of our supported browsers. You can try viewing the page, but expect functionality to be broken.
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.
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 - Applications now available!
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.
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 this course.
The Curriculum Guide contains details on 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, as well as 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 2017 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 Code.org's App Lab - an online block to text, JavaScript programming environment.
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 Code.org's Internet Simulator.
Unit 2
Digital Information
Using a variety of tools, students look at, generate, clean, and manipulate data to explore the relationship between information and data. Students also create and use visualizations to identify patterns and trends.
Unit 3
Algorithms and Programming
In this unit, students learn the JavaScript language with turtle programming in Code.org'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.
Unit 5
Building Apps
Students continue learning how to program in the JavaScript language. Using Code.org's App Lab environment, students create a series of applications that live on the web. Each app highlights a core concept of programming.
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.
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.
Post-AP
Making Data-backed Apps
After the AP Test, students learn how to use App Lab's database capabilities to make apps that store data in the cloud so that 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 Code.org 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. Code.org 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.
Hang these posters in your classroom and around your school:
Share these videos with students, parents, or administrators:
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 Code.org'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:
Unit 1 Lesson 2 requires some craft materials for constructing physical devices. The lesson recommends items like cups, string/yarn, construction paper, flashlights, slinkies, noise makers, markers, and glue.
Optional Materials
The following items are called for in lessons, but alternatives are offered below:
(Unit 3, Lesson 1) A handful of legos per 2-3 students. Alternatives: post-it notes, construction paper
(Unit 3, Lesson 2 - 3) Playing cards (1 deck per 6 students). Alternatives: write numbers of post-it notes.
(Unit 4, Lesson 8) Clear dixie cups with beans. Alternatives: Any clear container (ziplock bag, empty water bottle, etc) with any small item (beads, raisins, coffee beans, etc)
The following supplies are completely optional but will be useful to have on hand for various lessons:
Graph paper
Chart paper
Markers
Post-it notes
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.
How can I communicate with other teachers who are using the curriculum?
Check out our forum at http://forum.code.org. 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!
How can I learn about what's new or changing with the curriculum?
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.