Computer Science Discoveries ('22-'23)
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.
Interested in Teaching CS Discoveries? Professional development is available to help you get started teaching CS Discoveries. Click here to learn more about professional learning opportunities in your region or click here to learn more about a self-paced online option.
Problem Solving and Computing is a highly interactive and collaborative introduction to the field of computer science, as framed within the broader pursuit of solving problems. You’ll practice using a problem solving process to address a series of puzzles, challenges, and real world scenarios. Next, you’ll learn how computers input, output, store, and process information to help humans solve problems. The unit concludes with a project in which you design an application that helps solve a problem of your choosing.
Implementation Guidance for Problem Solving and Computing
- The first chapter of this unit should be completed before any other unit in CS Discoveries
- Alternate lessons are provided for some lessons in this unit, depending on your classroom context
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
In Web Development, students are empowered to create and share 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 to think critically about the impact of sharing information online and how to be more critical consumers of content. They are also introduced to problem solving as it relates to programming while they learn valuable skills such as debugging, using resources, and teamwork. At the conclusion of the unit, students will have created a personal website they can publish and share.
Implementation Guidance for Web Development
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- Guidance for how to support students in programming levels and differentiate tasks are available in the Programming Levels Guide and Differentiation Guide
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
In the Interactive Animations and Games unit, students 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.
Implementation Guidance for Interactive Animations and Games
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- Guidance for how to support students in programming levels and differentiate tasks are available in the Programming Levels Guide and Differentiation Guide
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
The Design Process unit 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.
Implementation Guidance for The Design Process
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
The Data and Society unit is about the importance of using data to solve problems and it 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. In the final project, students gather their own data and use it to develop an automated solution to a problem.
Implementation Guidance for Data and Society
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
In the Physical Computing unit, students explore the role of physical devices in computing. Using App Lab and Adafruit’s Circuit Playground, students develop programs that utilize the same hardware inputs and outputs that you see in the smart devices, looking at how a simple rough prototype can lead to a finished product. Then, students explore how physical devices can be used to react to the world around them using a “maker” mindset to create prototypes with everyday materials.
Implementation Guidance for Physical Computing
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- This unit assumes students are familiar with App Lab, specifically using Design Mode to create a user interface and using Events to change the screen when clicking a button. This can be accomplished by having students complete the App Lab Hour of Code before starting this unit.
- This unit requires students to have access to Circuit Playground's - click here for more information about using Circuit Playground's in your classroom
- Guidance for how to support students in programming levels and differentiate tasks are available in the Programming Levels Guide and Differentiation Guide
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
This unit is a hands-on introduction to developing a machine learning model with tabular data. Students explore how computers learn from data to make decisions, then develop machine learning projects around real-world data. The unit culminates in designing a machine learning app to solve a personally relevant problem.
Implementation guidance for the AI and Machine Learning Unit
- Complete the first three lessons of the Problem Solving and Computing unit before starting
- This unit assumes students are familiar with App Lab, specifically using Design Mode to create a user interface and using Events to change the screen when clicking a button. This can be accomplished by having students complete the App Lab Hour of Code before starting this unit.
- Guidance for how to support students in programming levels and differentiate tasks are available in the Programming Levels Guide and Differentiation Guide
- You can view the full Curriculum Guide and Implementation Guide for more information about this unit
Professional Development: If you are interested in teaching this course, we recommend completing the free AI/ML Self-Paced Professional Development Module. The module is designed to take 2 hours to complete. No previous experience with coding or AI is assumed.
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
This unit contains the CS Discoveries Post-Course Survey. This unit can be assigned after students complete their final unit in CS Discoveries.