Our newest course: CS Discoveries

What is CS Discoveries?

Computer Science Discoveries (CS Discoveries) is an introductory computer science course that empowers students to create authentic artifacts and engage with computer science as a medium for creativity, communication, problem solving, and fun.

Need a video you can use for student recruitment for the course? Click here

Designed with equity in mind

CS Discoveries is designed from the ground up to be an accessible and engaging course for all students, regardless of background or prior experience. It provides students opportunities to engage with culturally and personally relevant topics in a wide variety of contexts and aims to show all students that CS is for them.

Focus on creation

We know that giving students agency in their learning is a powerful tool for creating fun, engaging, and lasting learning experiences. CS Discoveries focuses on the skills that enable students to create and express themselves in a variety of contexts and media. Whether they are developing their own website, designing an app, building a game, or creating a physical computing device, students are empowered to bring their ideas to life.

Completing a K-12 pathway

CS Discoveries is designed to fit naturally between our CS Fundamentals courses and our CS Principles course. While each of these courses is designed to be an age-appropriate entry point to computer science, students with previous experience will find many new topics to explore, and they will revisit familiar topics in novel and more challenging contexts.

Supports for new-to-CS teachers

CS Discoveries is specifically designed to support new-to-CS teachers. The curriculum includes detailed lesson plans, and frequent teaching tips. The accompanying forum is an active community of support that teachers can use to discuss their practice and find additional resources. Teachers can also apply for our professional learning program for further support.

Flexible Implementation

CS Discoveries was specifically designed for 7th to 9th grade classrooms and can be used in either middle school or high school. The two semesters build on each other, allowing the course to be taught as a single semester, two sequential semesters, a full-year course, or even integrated into existing technology classes.

Powerful tools with a high ceiling

CS Discoveries introduces students to tools and programming languages that are accessible for beginners while offering more advanced students opportunities to create sophisticated projects. Using our existing App Lab programming environment and our new programming environment, Game Lab, students will be able to transition from blocks to typed code at their own pace while learning JavaScript. Students will also develop maker skills through the study of physical computing at a very accessible cost.


Daily lesson plans come with detailed instructions, activity guides, and assessments

Students explore programming concepts through the development of animations and games in Game Lab

Students create prototypes of internet-connected physical computing devices using Adafruit's Circuit Playground board and App Lab


Course Overview

Printable course overview PDF

Computer Science encompasses far more than just coding, and CS Discoveries will provide students with opportunities to explore the many facets of CS, both in terms of how they are personally relevant as well as how they impact society.

Semester 1 - Exploration and Expression

The first semester of CS Discoveries introduces students to computer science as a vehicle for problem solving, communication, and personal expression. As a whole, this semester focuses on the visible aspects of computing and computer science, and encourages students to see where computer science exists around them and how they can engage with it as a tool for exploration and expression.

Unit 1 - Problem Solving

Unit 1 is a highly interactive and collaborative introduction to the field of computer science, as framed within the broader pursuit of solving problems. Through a series of puzzles, challenges, and real world scenarios, students are introduced to a problem solving process that they will return to repeatedly throughout the course. Students then learn how computers input, output, store, and process information to help humans solve problems. The unit concludes with students designing an application that helps solve a problem of their choosing.

Unit 2 - Web Development

In Unit 2, students are empowered to create and share the content on their own web pages. They begin by thinking about the role of the web, and how it can be used as a medium for creative expression. As students develop their pages and begin to see themselves as programmers, they are encouraged think critically about the impact of sharing information online and how to be more critical content consumers. They are also introduced to problem solving as it relates to programming, as they learn valuable skills such as debugging, commenting, and structure of language. At the conclusion of the unit, students compile their work to create a personal website they can publish and share.

Unit 3 - Animations and Games

In Unit 3, students build on their coding experience as they create programmatic images, animations, interactive art, and games. Starting off with simple, primitive shapes and building up to more sophisticated sprite-based games, students become familiar with the programming concepts and the design process computer scientists use daily. They then learn how these simpler constructs can be combined to create more complex programs. In the final project, students develop a personalized, interactive program. Along the way, they practice design, testing, and iteration, as they come to see that failure and debugging are an expected and valuable part of the programming process.

Semester 2 - Innovation and Impact

Where the first semester centers on the immediately observable and personally applicable elements of computer science, the second semester asks students to look outward and explore the impact of computer science on society. Students will see how a thorough user-centered design process produces a better application, how data is used to address problems that affect large numbers of people, and how physical computing with bare circuit boards allows computers to collect input and return output in a variety of ways.

Unit 4 - The Design Process

Unit 4 transitions students from thinking about computer science as a tool to solve their own problems towards considering the broader social impacts of computing. Through a series of design challenges, students are asked to consider and understand the needs of others while developing a solution to a problem. The second half of the unit consists of an iterative team project, during which students have the opportunity to identify a need that they care about, prototype solutions both on paper and in App Lab, and test their solutions with real users to get feedback and drive further iteration.

Unit 5 - Data and Society

This unit is about the importance of data in solving problems and highlights how computers can help in this process. The first chapter explores different systems used to represent information in a computer and the challenges and tradeoffs posed by using them. In the second chapter students learn how collections of data are used to solve problems, and how computers help to automate the steps of this process. The chapter concludes by considering how the data problem solving process can be applied to an area of the students' choosing.

Unit 6 - Physical Computing

In Unit 6, students further develop their programming skills while exploring the role of hardware platforms in computing. Harkening back to the Input and Output elements of the Input/Storage/Processing/Output model for a computing, students look towards current and “smart” devices to understand the ways in which different sensors can provide more effective input and output than the traditional keyboard, mouse, and monitor. Using App Lab and Adafruit’s Circuit Playground, students develop programs that utilize the same hardware inputs and outputs that students saw in the smart devices they explored earlier, and they get to see how a simple rough prototype can lead to a finished product. The unit concludes with a design challenge that asks students to use the Circuit Playground as the basis for an innovation of their own design.

Get Involved

Try out and give feedback on drafted lessons

We post lesson drafts as soon as they're ready, and are eager to have teachers try them in classrooms and provide feedback. Because the whole course is not finished, this is a good option if you have an existing CS or tech ed class and would like to pick up a few lessons or a unit and integrate it into your existing curriculum.

Learn more about professional learning!

This intensive program is designed to prepare educators to provide high quality instruction based on the CS Discoveries curriculum, tools and approach to students in their classrooms.

Stay up to date on our progress

Want to know when we've posted new lesson drafts and have tools that are ready to experiment with? Sign up for our monthly emails, which contain the latest news and links to beta lesson plans, tools, videos, and other important updates for the CS Discoveries project.

Lesson Drafts

We are releasing drafts of CS Discoveries units as they are finished, and would love for teachers and others in the CS education community to try them out and provide feedback. On the first page of every lesson plan, there is a Give Us Feedback! button that will open up a quick survey you can fill out with your thoughts and feedback. We really appreciate it!

Unit Lesson Plans Code Studio
Unit 1 - Problem Solving Lesson plans Code Studio
Unit 2 - Web Development Lesson plans Code Studio
Unit 3 - Animations and Games Lesson plans Code Studio
Unit 4 - The Design Process Lesson plans Code Studio
Unit 5 - Data and Society Lesson plans Code Studio
Unit 6 - Physical Computing Lesson plans Code Studio

Frequently Asked Questions

What is the relationship between CS Discoveries and Exploring Computer Science?

The CS Discoveries course is deeply inspired by the philosophy of ECS, based on our experience teaching ECS, scaling it to thousands of classrooms nationwide, and evaluation of feedback from the teachers. This course teaches similar core concepts as ECS, and has a shared inquiry-based philosophy and teacher-learner-observer PD model. It also shares the same emphasis on equity which has pervaded Code.org's curriculum in other grade levels.

Learn more about Code.org's transition to CS Discoveries from Exploring Computer Science.

What is the timeline for CS Discoveries?

We will pilot the new course materials during the spring of 2016-17 with a group of 45 teachers across the US. The course will roll out formally in Summer 2017. Check back to this website frequently as we release drafted lesson plans!

Will CS Discoveries be mapped to standards?

CS Discoveries was written using both the K-12 Framework for Computer Science and the draft CSTA standards as guidance. Because the revised CSTA standards have not been finalized as of May 2017, we are holding off on publishing formal standards mapping documents to ensure that we have an opportunity to address any changes that may appear in the final draft. Once the CSTA standards have been finalized and published, we will complete a full pass to articulate, on a unit and lesson level, our mapping to not only the the CSTA standards, but also select ISTE, Common Core Math, Common Core ELA, and NGSS standards. Once this mapping has been completed, it will be available in lesson plans and at code.org/csd/standards

What materials and supplies are required for CS Discoveries?

  • Normal classroom supplies (pens, pencils, coloring, scissors, extra paper)
  • Computers
  • Worksheet Printing (There are worksheets with some lessons. Some teachers get around this by doing everything digitally)
  • Couple Decks of Cards
  • Aluminum Foil
  • Containers that can hold water
  • Adafruit's Circuit Playground Boards and Micro USB cables. The curriculum is designed for a ratio of 2 students to 1 board & 1 usb cable***

*** For teachers participating in our 2017-18 Professional Learning Program who are implementing the full-year version of the course, we will be subsidizing one classroom kit of Adafruit Circuit Playground Boards. This kit contains 15 boards and accessories and supports a classroom of 30 students, assuming a 2:1 ratio of students to boards. The subsidized cost of the classroom kit will be less than $100 and further details about ordering kits will be sent to teachers in winter 2017. ***