Elementary School has developed a free elementary school curriculum that allows even the youngest students to explore the limitless world of computing. There are three levels of computer science at the elementary school level:

The courses blend online, self-guided and self-paced tutorials with “unplugged” activities that require no computer at all. Each course consists of about 20 lessons that may be implemented as one unit or over the course of a semester. Each lesson may be implemented within a standard 45-50 minute class period. The courses have been designed for students of all ages and align to CSTA Computer Science and ISTE standards, and reinforce concepts and skills taught in other subject areas by integrating national Math, English Language Arts, and Science standards.

Learn more about our K-5 courses.

Free professional development workshops (US only): is offering free workshops for K-5 educators and content-area teachers (librarians, tech-ed specialists, etc.) interested in teaching the elementary school computer science curriculum. The workshop will cover content for all three courses and teachers will receive the supplies they need to teach the course- at no cost.

These workshops will be led by experienced K-5 Facilitators in over 60 cities across the United States.

Middle School

There are two interdisciplinary modules at the middle school level: CS in Science and CS in Math. Each module exists as multiple sets of topical lessons that are able to be integrated into pre-existing Science and Math classes.

CS in Science: Project GUTS has partnered with the award-winning Project GUTS (Growing Up Thinking Scientifically) to deliver a middle school science program consisting of four instructional modules and professional development for the introduction of computer science concepts into science classrooms within the context of modeling and simulation. The goal of the program is to situate computer science practices and concepts within the context of life, physical, and earth sciences and prepare students to pursue formal, year-long courses in computer science during high school. The CS in Science program is aligned to the Next Generation Science Standards. Visit the program page, or download a brief or full description.

CS in Math: Bootstrap has partnered with Bootstrap to offer their introductory curriculum, which teaches algebraic and geometric concepts by having students program their own video games. Bootstrap focuses on order of operations, the Cartesian plane, function composition and definition, and solving word problems within the context of video game design. By shifting classwork from abstract pencil-and-paper problems to a series of relevant programming problems, Bootstrap demonstrates how algebra applies in the real world, using an exciting, hands-on approach. Bootstrap is aligned to the Common Core Standards for Mathematics. Visit the program page or download a description.

High School

Leveraging years of research by the National Science Foundation, the core courses in's high school package, Exploring Computer Science and Computer Science Principles have been designed to broaden participation in secondary computer science and prepare students for post-secondary experiences related to computing or college majors in computer science.

Exploring Computer Science (ECS)

Exploring Computer Science is a nationally recognized introductory college preparatory computer science course and includes curriculum, professional development, and assessments. ECS is composed of six foundational units with lessons that are designed to promote an inquiry-based approach to teaching and learning foundational concepts in computer science and highlighting the computational practices and problem solving associated with doing computer science.

The PD experience for ECS is based on three major pillars: computer science content/concepts, inquiry, and equity.

Download this one-pager describing Exploring Computer Science. Find the curriculum and other resources at

Computer Science Principles (CSP)

What is CS Principles?

The College Board has proposed a new AP® course called AP® Computer Science: Principles. The course is designed to be far more than a traditional introduction to programming - it is a rigorous, engaging, and approachable course that explores many of the big, foundational ideas of computing so that all students understand how these concepts are transforming the world we live in. The official AP® exam is set to go live in the 2016-17 school year with an exam and portfolio-based assessment.

Find more information about the CS Principles project at:

AP® is a registered trademark of the College Board.

What is creating for CS Principles? is currently creating a complete curriculum consisting of daily lesson plans, videos, tutorials, and assessments that covers the learning objectives from the CS Principles Curriculum Framework document. Check back often as batches of lessons will be released on a rolling basis from now until Summer 2015 when the entire curriculum will be publicly available.

The entire curriculum and the accompanying professional development is scheduled to be ready by Summer 2015.

The resources will be distributed under a Creative Commons License.

What is actually in the curriculum?

Several documents describe the overarching themes and direction of the course.

  • A one-pager describing's CSP curriculum project, rationale, and features from the original team of authors in 2013.
  • A visual explanation of's CSP curriculum units and overarching themes.
  • A longer overview of's CSP curriculum.

Overview of lessons from Unit 1: Sending Bits

The first batch of lessons is broken into 4 sections. See this section-by-section overview

  • Foundations
  • Numbers and counting
  • Encoding text
  • Encoding images

Unit 1 Lesson Plans - COMING SOON

Unit 1 is undergoing field testing. Drafts of lesson plans will be published here.

When will lessons actually be published?’s CS Principles curriculum will be released publicly on a rolling basis during the 2014-15 school year as lessons are tested in classrooms and supporting materials refined. They will still be considered “drafts” at that point, but they will at least have gone through one iteration of testing with real teachers.

Can I test lessons and give feedback?

Yes, please! Once lessons are published on the website we will invite anyone and everyone to try them out - both the lessons and any new tools or software - and let us know how it went. We are open to changes to lessons or alternatives to certain lessons so please send us your feedback.

We are hoping that our curriculum will be a form of living document and not something set in stone. The process for giving feedback and making suggestions will be outlined at the time lessons go online.

How/Where can I get Professional Development for this course?

In-person professional development for the CSP course will be available in select partner districts starting in summer 2015. After one year of piloting and refining the PD program we will make all of our PD agendas, schedules, and other materials available to the public. This includes all of our online and in-person PD programs.

Other updates about the course and how to find out more about it and how to teach it will also be published here.

What is the timeline and process for producing the curriculum?

As of Summer 2014 an initial draft of the curriculum and its lessons has been conceptualized and written by the original team of high school teacher authors. During the 2014-15 school year, those lessons will be refined by to make them “classroom-ready” for a small group of teachers who are field testing in real live classrooms.

The lessons will be prepared and delivered to field testers in batches of 15-20 lessons - enough to cover 4-6 weeks' worth of school. Once a batch of lessons is prepared for field testing, the batch is delivered to teachers who will test the lessons in their classrooms.

After reviewing and debriefing the batch of lessons, we will make any appropriate revisions to the curriculum where necessary, and then publish the batch of lessons on the website in beta for review and testing by anyone who would like to try it out.

The first field tested lessons should be available online starting in late October 2014 with subsequent batches published on a rolling basis after they have been field tested.

What is the field testing process?

Field testers will receive a batch of lessons and review them with the team in preparation for testing them in the classroom. Teachers use a lesson or group of lessons in their classrooms and provide feedback about everything from whether or not the goals of the lesson were clearly communicated, to whether the activity worked, to typographical errors in the text. Teachers then gather with staff at the conclusion of a batch to discuss and review how things went overall. That feedback is then taken by staff to make revisions to lessons (and possibly software) before publishing in beta.

Why is the field testing process necessary?

One major reason is that many new online software tools are being developed for the curriculum by that currently only exist in prototype and are not ready to perform at scale. When we publish a lesson online we would like the tools to be immediately useable to a wide audience. So some delays in publishing a lesson online are to ensure that tools which are integral to a lesson are actually useable.

There is a similar reason for the lesson plans themselves: when published at scale, even in beta, we would like lessons to have been tried out at a small scale first so that what we publish online has had some real world exposure. The field testers will let us know what works for them and what doesn’t so we can know if we’re at least on the right track.

Previous sample resources

Find more information at:'s Educational Philosophy

We believe that:

  1. There is more to computer science than coding; we’re just called because it’s short and snappy.
  2. Students should learn the why of computer science, not just the what and how.
  3. Technology should be used to allow a teacher to do what they do best, which is why we promote a Blended Learning model (not just for students, but for teacher PD as well).
  4. Learning computer science is useful no matter what field a student eventually goes into.
  5. The best learning is relevant and active.
  6. Computer science is creative and exciting, and you can use it to make the world a better place.
  7. Students are diverse, both in their prior knowledge and their needs as learners. They deserve to learn in an environment that is equitable and accessible.
  8. Failure is good. Students need to learn how to persevere in solving difficult problems.
  9. Bringing computer science to K-12 schools nationwide is something that we’ll achieve by all working together. It won’t be one person or one organization.
  10. It doesn’t matter if you’re 8 years old, an 8th grade teacher, or 80 years old; anyone can learn computer science.