What's new with CS Principles 2020-21?


We are extremely excited to share the 2020-21 version of our CS Principles curriculum! This update builds upon what students and teachers love most about our current course while adding lessons, resources, tools, and pedagogy that support deeper learning, more creativity, and a more collaborative classroom environment.

We’ve designed this resource hub to help guide current CS Principles teachers as they transition to the latest version of our course. Here, you’ll find:

  • 5 steps to get started with CS Principles 2020-21
  • AP CS Principles 2020-21 syllabus for the AP Course Audit
  • Our pedagogical approach to programming units
  • How to get support from the team — we're hosting webinars!
  • And more!

5 steps to get started with CS Principles 2020-21

The improvements we've made for CS Principles 2020-21 will support more creativity and learning, but we know preparing to teach a course is serious business. Here are five steps to help you get started.

1. Read about what's changed.

There are a lot of exciting updates in the latest version of the curriculum, but much of the course will look familiar to teachers who have previously taught the course.

What's new?

  • We refreshed the Internet and Digital Information units, while keeping many of the tools and widgets classrooms love.
  • Programming is now introduced through an engaging project-based unit that focuses on app design.
  • We redesigned the programming units around an exciting new pedagogy called EIPM (Explore, Investigate, Practice, Make).
  • We developed three entirely new units that address algorithms (Unit 6), data (Unit 9), and global impacts and cybersecurity (Unit 10).
  • Lessons are all 45 minutes in length.
  • App Lab has a number of new exciting features!

What's the same?

  • Equity is our focus – we recognize that some students and classrooms need more support than others, and so those with the greatest needs should be prioritized.
  • The course is built with the same Code.org curriculum values and approaches.
  • We emphasize learning experiences that are active, and relevant to students’ lives.
  • The course prepares students for the AP Computer Science Principles Exam.
  • Our Digital Information and Internet units kick off our course in a hands-on, collaborative, and inquiry-driven format that builds classroom community.
  • Students still program in App Lab, explore the Internet using the Internet Simulator, and learn about many other topics in the course using our popular set of widgets.

Check out this resource for more details about what changed about the curriculum (and what didn't).

2. Read the Curriculum Guide.

The entire 2020-21 CS Principles Curriculum Guide can provide more detailed information about the course in general. Having this document on hand can help you focus specifically on what's new.

3. Schedule your year.

The most successful pilot teachers had a plan for each unit and when each unit would fall in the year. If you are teaching CS Principles as an AP course, it is important to know where you have extra time and where you need to pick up the pace. Planning your year gives you the freedom to adjust as necessary. Use our Planning and Pacing Guide, along with your school calendar, to start planning.

4. Do the activities!

You will learn the most by doing these activities yourself. Test out the EIPM lessons (learn more about these, below!). Try using the manipulatives to represent information on slides. Try making the apps. Try using the new tools! Looking for a place to start? We suggest you check out the first EIPM sequence in Unit 4 on Variables.

5. Connect with others.

Remember, you are part of a robust network of CS educators! We have an active community of CS teachers on the forum, as well as trained moderators who are ready to be a source of support. Post your questions on the forum as you read through lessons or share what you learned from teaching the lessons in your classroom.

Our new approach to teaching programming: EIPM

Want to learn more about each lesson type? View our video playlist.

EIPM is a structured approach to teaching programming in CS Principles 20-21. It introduces concepts in a scaffolded and approachable way to encourage student collaboration, support independent creation, and clarify the role of the teacher throughout the learning process. Each letter represents a different type of lesson (E - Explore, I - Investigate, P - Practice, M - Make), which are taught in sequence for each major programming concept.

For more on the development of this lesson sequence, watch the video or read up on this introduction to EIPM.

We're here to help support you

Tune in to our webinars and recordings!

Our team is hosting three webinars to help you learn more about the updates we’ve made to the course as you make your transition to the latest version. Register today or view recordings of our conversations about the following topics:




Not able to join us on air? We’ll post recordings of these webinars on this page, so be sure to check back for more info.

Stay connected

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 the CS Principles curriculum. Code.org forums are used for all of our courses, K-12.

Ready to start teaching AP CS Principles 2020-21?

We’re so glad you’ve decided to bring our course to your students! If you’re planning to teach CS Principles as an AP course, be sure to select the Code.org syllabus when completing the College Board’s AP Course Audit.


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’s CS Principles offerings are aligned to the AP Curriculum framework standards and the AP CS Principles assessment. This 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.

Frequently Asked Questions

For answers to our most frequently asked questions, click on the questions below!

How/Where can I get professional development?


If you previously participated in the Code.org Professional Learning Program for CS Principles, your Regional Partner may be hosting a follow-up workshop to help support your transition to the new course. Please contact your Regional Partner for more details.

If you haven’t participated in the Code.org Professional Learning Program, spaces may be available in your region! Our Professional Learning Program offers 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 forum support and follow-up 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 and apply.

What is the recommended timing for teaching CS Principles 2020-21?


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 each day. 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 Task is due in late April and requires 12 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.

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 Code.org'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:

  • Unit 1, Lesson 2: Assortment of craft materials for constructing physical devices. Recommendations: cups, string/yarn, construction paper, flashlights, slinkies, noise makers, markers, and glue, etc. Alternative: none.
  • Unit 2, Lesson 2: String for table groups to build a network connecting them. Alternative: Students draw their network but don't actually build it.
  • Unit 3, Lesson 5: A handful of LEGO® blocks for every pair of students. Alternative: Sticky notes, construction paper.
  • Unit 4, Lessons 1 & 5: Plastic bags, sticky notes, dry erase markers. Alternative: Envelopes.
  • Unit 5, Lesson 1: Plastic bags, gallon-sized plastic bags, sticky notes, dry erase markers, tape. Alternative: Envelopes.
  • Unit 6, Lessons 2 & 3: Sticky notes. Alternative: Scraps of paper.
  • Unit 6, Lesson 4: Decks of cards. Alternative: Any item that could be combined into two categories (e.g. change with even / odd year).
  • Unit 7, Lessons 1 & 5: Sticky notes, envelopes, plastic bags, file folders. Alternative: Scraps of paper, folders made of a folded sheet of paper, etc.

Optional Materials

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

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


We have partnered with AccessCSforAll to develop an accessible version of CS Principles mapped lesson by lesson to the 2020-21 curriculum, similar to the one they designed for previous versions of our course. That course is currently under development but we will share it broadly once it is available. It is currently slated for release later this year.

If you are teaching CS Principles as a non-AP course, you may also consider using either the 2019 version of the curriculum, which has resources from accessCSP project from Outlier Research, or teaching the accessible version of the 2019-20 curriculum designed by AccessCSforAll. More information on both options can be found on pages 1 and 39 of the curriculum guide for the 2019 course.


AP® is a registered trademark of the College Board.