Focus on Creativity '24-'25 (CS Discoveries) ('24-'25)
Focus on Creativity is a collection of Computer Science Discoveries (CS Discoveries) units that empowers students to be creative as they learn to create websites, animations and games, and apps for devices. Students create authentic artifacts and engage with computer science not only as a medium for creativity, but also for 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.
Chapter 1 Overview
Description: This chapter guides students to develop and adopt a more formal structured problem solving process by reflecting on problems they have problems they have encountered, both in the classroom and everyday life. By working through a diverse set of problems, such as logic puzzles, engineering challenges, and planning a trip, students learn to identify different classes of problems, decompose large problems, and develop their personal problem solving skills.
Goals:
- Learn how to use a structured problem solving process and apply it to address various problems.
- Create a collaborative classroom environment where students view computer science as relevant, fun, and empowering.
Big Questions:
- What strategies and processes can I use to become a more effective problem solver?
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
- Additional resources are available within the Teacher Resources dropdown of the unit
Professional Development
If you are interested in teaching this course, we recommend completing the free Problem Solving and Computing Self-Paced Professional Development Module. The module is designed to take 2 hours to complete. No previous experience with coding is required.
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
In Web Development, students are put in the shoes of a web developer and empowered to design and create a web page to meet a user’s needs. As students develop the pages and begin to see themselves as web developers and designers, 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 related to programming while learning valuable skills such as debugging, using resources, and teamwork. At the conclusion of chapter one, students will design and create a web page for a user. After chapter two, students will have worked with a team to create a multi-page website they can publish and share.
Chapter 1 Overview
Description: Students work as web developers to design and develop web pages to meet users' needs. Focusing on the tags, keywords, and syntax used to communicate instructions to the computer, students use HTML to structure the content of a web page and CSS to design and organize the content. They also explore the privacy and intellectual property implications of publishing web pages online.
Goals:
- Create digital artifacts that use multiple computer languages to control the structure and style of their content.
- Create a web page to meet a user's needs.
- Use different programming languages to solve different problems.
- Examine their role and responsibilities as creators and consumers of digital media.
Big Questions:
- How do web developers create web pages for users?
- How can text communicate a web page's content, structure, and style?
- How do I safely and appropriately create content for the Internet?
- What strategies can I use when coding to find and fix issues?
Chapter 2 Overview
Description: Students expand their ideas of websites beyond personal expression and begin to see them as a way to solve problems. Students build on their collaborative skills and work in teams to create multi-page websites that solve a problem.
Goals:
- Create digital artifacts that use multiple computer languages to control the structure and style of their content.
- Create a website that solves a problem.
- Use different programming languages to solve different problems.
- Examine their role and responsibilities as both creators and consumers of digital media.
Big Questions:
- How can websites be used to address problems in the world?
- What strategies can teams use to work better together?
- How do I know what information can be trusted online?
Implementation Guidance for Web Development
- 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 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.
Chapter 1 Overview
Description: Students build up toward programming interactive animations in the Game Lab environment. They begin with simple shapes and sprite objects, then use loops to create flipbook style animations. Next, they learn to use booleans and conditionals to respond to user input. At the end of the chapter, students design and create an interactive animation that they can share with the world.
Goals:
- Create an interactive animation that includes basic programming concepts such as control structures, variables, user input, and randomness.
- Give and respond constructively to peer feedback, and work with their teammates to complete a project.
- View yourself as a computer programmer, and see programming as a fun and creative form of expression.
Big Questions:
- What is a computer program?
- What are the core features of most programming languages?
- How does programming enable creativity and individual expression?
- What practices and strategies will help me as I write programs?
Chapter 2 Overview
Description: In this chapter students combine the constructs that they learned in the first chapter to program more complex movement and collisions in their sprites. As they create more complex programs, they begin to use functions to organize their code. In the end, students use a design process to create an original game.
Goals:
- Create an interactive game that includes basic programming concepts such as control structures, variables, user input, and randomness.
- Give and respond constructively to peer feedback, and work with their teammates to complete a project.
- Work with others to break down programming projects using sprites and functions.
Big Questions:
- How do software developers manage complexity and scale?
- How can programs be organized so that common problems only need to be solved once?
- How can I build on previous solutions to create even more complex behavior?
Implementation Guidance for Interactive Animations and Games
- 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 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 Creating Apps for Devices 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.
⚠️ This unit uses the Circuit Playground to introduce physical computing and the "maker" mindset. You can also teach this content using micro:bit devices by assigning the (Option B) Creating Apps with Devices unit. Both units teach the same content and are equivalent - you do not need to buy both sets of devices or teach both units.
Chapter 1 Overview
Description: This unit emphasizes the interactions between inputs and outputs on the circuit playground and an app screen. On their circuit playground, students learn to control inputs like buttons or toggle switches and outputs like the buzzer or LED. Students also interact with inputs and outputs in App Lab, such as buttons and text inputs and dropdowns. By the end of the chapter, students will be able to create an app that controls a device, similar to many "smart" hardware they may experience in their day-to-day lives.
Goals:
- Design and build a physical computing device that integrates physical inputs and outputs with digital apps.
- Create app prototypes that use a physical device to control a digital app.
Big Questions:
- What inputs and outputs are available on a physical device?
- What inputs and outputs are available on an app?
- How can we create apps that use a physical device to control a digital app?
Chapter 2 Overview
Description: In this chapter, students focus on how their physical device can interact with the outside world. They learn how to use sensors and the accelerometer to react to the physical environment. They learn to attach external LEDs and buttons that extend the types of devices they can make. Throughout the unit, students use physical materials like paper or cardboard to extend the functionality of their devices. By the end of the unit, students will have created an interactive art project and developed a prototype for a physical device that solves a problem.
Goals:
- Design and build a physical computing device that integrates sensors with digital apps.
- Create app prototypes that use a physical device to solve real-world problems.
- Use physical computing to solve problems in fun and innovative ways.
Big Questions:
- How can a physical device use sensors to react to a physical environment?
- How can simple hardware be used to develop innovative new products?
Implementation Guidance for Creating Apps with Devices
- 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 Implementation Guide for more information about this unit
Professional Development
If you are interested in teaching this course, we recommend completing the free Creating Apps for Devices Self-Paced Professional Development Module. The module is designed to take 2 hours to complete. No previous experience with coding or devices is assumed.
Finished Teaching This Unit?
Answer this short survey to let the Code.org curriculum team know how the unit went.
In the Creating Apps with Devices unit, students explore the role of physical devices in computing. Using App Lab and BBC micro:bit, 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.
⚠️ This unit uses the micro:bit to introduce physical computing and the "maker" mindset. You can also teach this content using circuit playground devices by assigning the Creating Apps with Devices (Circuit Playground) unit. Both units teach the same content and are equivalent - you do not need to buy both sets of devices or teach both units.
Chapter 1 Overview
Description: This unit emphasizes the interactions between inputs and outputs on the micro:bit and an app screen. On their micro:bit, students learn to control inputs like buttons and outputs like the LED Screen. Students also interact with inputs and outputs in App Lab, such as buttons and text inputs and dropdowns. By the end of the chapter, students will be able to create an app that controls a device, similar to many "smart" hardware they may experience in their day-to-day lives.
Goals:
- Design and build a physical computing device that integrates physical inputs and outputs with digital apps.
- Create app prototypes that use a physical device to control a digital app.
Big Questions:
- What inputs and outputs are available on a physical device?
- What inputs and outputs are available on an app?
- How can we create apps that use a physical device to control a digital app?
Chapter 2 Overview
Description: In this chapter, students focus on how their physical device can interact with the outside world. They learn how to use sensors and the accelerometer to react to the physical environment. They learn to attach external LEDs and buttons that extend the types of devices they can make. Throughout the unit, students use physical materials like paper or cardboard to extend the functionality of their devices. By the end of the unit, students will have created an interactive art project and developed a prototype for a physical device that solves a problem.
Goals:
- Design and build a physical computing device that integrates sensors with digital apps.
- Create app prototypes that use a physical device to solve real-world problems.
- Use physical computing to solve problems in fun and innovative ways.
Big Questions:
- How can a physical device use sensors to react to a physical environment?
- How can simple hardware be used to develop innovative new products?
Implementation Guidance for Creating Apps with Devices
- This unit requires students to have access to micro:bit devices - click here for more information about using micro:bit'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
Professional Development
If you are interested in teaching this course, we recommend completing the free Creating Apps for Devices (micro:bit) Self-Paced Professional Development Module. The module is designed to take 2 hours to complete. No previous experience with coding or devices 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 Post-Course Survey. This unit can be assigned after students complete their final unit in this course.