Unit 5 - Data and Society ('24-'25)
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.
Chapter 1 Overview
Description: This chapter focuses on data representation and its role in solving information problems. Students learn what a representation system needs to be useful, and how computers are able to represent different types of information using binary systems. For the chapter project, students represent their perfect day in a binary punch card and trade with classmates to decipher.
Goals:
- Understand the role of data and data representation in solving information problems.
- Explain the necessary components of any data representation scheme, as well as the particulars of binary and the common ways that various types of simple and complex data are represented in binary code.
Big Questions:
- Why is representation important in problem solving?
- What features does a representation system need to be useful?
- What is necessary to create usable binary representation systems?
- How can we combine systems together to get more complex information?
Chapter 2 Overview
Description: Students explore how data can be used to answer interesting questions and solve problems. Using a modified version of the general Problem Solving Process, students look at how computers and humans use data differently and the pros and cons of automating problem solving. After learning ways that computers use data in the real world, students choose their own problem and use data to address it.
Goals:
- Investigate and understand how humans and computers use data differently.
- Design and implement a data-based solution to a given problem and determine how the different aspects of the problem solving process could be automated.
Big Questions:
- How does data help us to solve problems?
- How do computers and humans use data differently?
- What parts of the data problem solving process can be automated?
- What kinds of problems do computers use data to solve in the real world?
Implementation Guidance for Data and Society
- 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.
Key | Instructional Lesson Assessment Unplugged Lesson |
Make all lessons in this Unit visible or hidden for your students.
In Chapter 1 of this unit, students learn the different representation systems that computers use to represent information. In this first lesson, students get an overview of what data is and how it is used to solve problems. Students start off with a brief discussion to come to a common understanding of data. They then split into groups and use a data set to make a series of meal recommendations for people with various criteria. Each group has the choices of meals represented in a different way (pictures, recipes, menu, nutrition) that gives an advantage for one of the recommendations. Afterward, groups compare their responses and discuss how the different representations of the meal data affected how the students were able to solve the different problems and see that the same objects can be represented in a number of different ways.
Question of the Day: How does data affect decisions we make every day?
In this lesson, students get to explore for themselves the qualities of a good system for representing information by creating their own system for representing information. They begin by brainstorming all the different systems they already use to represent yes-no responses and then move on to create a system that can represent any letter in the alphabet using only a single stack of cards. The cards used have one of 6 different possible drawings (6 animals, 6 colors, etc.) and so to represent the entire alphabet students will need to work with their groups to use patterns of multiple cards to represent each letter. Students create messages with their systems and exchange them with other groups to ensure the system worked as intended. In the wrap-up discussion, the class reviews the pros and cons of the different systems, discussing commonalities between working systems and recognizing that there are many possible solutions to this problem and what's important is that everyone uses the same arbitrary system to communicate.
Question of the Day: How can we create a system for representing information?
This lesson is an opportunity to make some real-world connections from the previous lesson and review some of the concepts students saw in that activity. Students are formally introduced to the concept of binary, learn what a bit of information is, and get practice using a binary system and ASCII, a system for encoding information. At the beginning of the lesson, the teacher introduces the fact that computers must represent information using either "on" or "off". Then students are introduced to the ASCII system for representing text using binary symbols. Students practice using this system before encoding their own message using ASCII. At the end of the lesson, a debrief conversation helps synthesize the key learning objectives of the activity.
Question of the Day: What system do computers use to represent letters and words?
In this lesson, students learn how computers represent images. To begin the lesson they consider the challenge of turning all the complexity of vision into a binary pattern. Through a series of images showing how this transformation is made, students are introduced to the concept of splitting images into squares or "pixels" which can then be turned on or off individually to make the entire image. Students then do a short set of challenges using the Pixelation Widget in order to draw black and white images. Puzzles are designed to call out some of the challenges of representing images in this way. In the wrap-up, students make connections between the system for representing images and the system for representing text they learned in the previous lesson.
Question of the Day: What system do computers use to represent images?
In this lesson, students learn how to use the binary system to represent integers. With a set of cards that represent the place values in a binary (base-2) number system by a collection of dots, students turn bits "on" or "off" by turning cards face up and face down, then observe the numbers that result from these different patterns. Eventually, students extend the pattern to a generic 4-bit system.
Question of the Day: What system do computers use to represent numbers?
In this lesson, students use all three types of binary representation systems (ASCII characters, binary numbers, and images) to decode information in a record. After seeing a series of bits and being asked to decode them, students are introduced to the idea that in order to understand binary information, they must understand both the system that is being used and the meaning of the information encoded. They then decode a record representing a pet based on a given structure.
Question of the Day: How do computers tell the difference between binary codes for letters, numbers, or images?
As students have been encoding and decoding data, they have not been worried about securing the data that they are using even when that information has been highly personal or sensitive (such as addresses or phone numbers). In this lesson, they continue to explore how data is represented in a punchcard and begin to think about how they can ensure that only the intended recipient can read the data that they send. Once students understand the reasons for protecting data, they learn a binary encryption system that lets them encrypt and decrypt data in their punchcards, and eventually, they are able to send secret messages to one another using this method. The class concludes with a discussion on the importance of protecting our information and how encryption is one way we can accomplish this.
Question of the Day: How can we keep data secret and protect it from misuse?
The project serves as a cumulative project for the chapter, bringing together the different representation systems students have learned to design a structure that represents their perfect day. Students will first write a short description of their perfect day and then review with a partner to identify the key pieces of information they think a computer could capture. As a class, students will decide how a punch card of bytes of information will be interpreted to represent those pieces of information. Students will then use the ASCII, binary number, and image formats they have learned to represent their perfect days and then trade punch cards and try to decode what the other student's perfect day is like. This lesson forces students to grapple with some of the challenges of representing information in a computer since computers are good at representing some kinds of information like numbers or characters, but this forces students to represent information in ways that might not always capture the full analog experience of an object or event.
Question of the Day: How can I represent complex information using binary systems?
In this lesson, students use the problem solving process from earlier in the course to solve a data problem. After reviewing the process, the class is presented with a decision: whether a city should build a library, pet shelter, or fire department. Students work in teams to collect information on the Internet to help them decide what should be built, then use this information to build an argument that will convince the city council of their choice. They then map what they have done to the problem solving process that they have been using throughout the course, comparing the general problem solving process to its specific application to data problems.
Question of the Day: How can we use data to solve problems in our community?
In this lesson, students go further into the collection and interpretation of data, including cleaning and visualizing data. Students first look at how presenting data in different ways can help people to understand it better, and they then create visualizations of their own data. Using the results of a preferred pizza topping survey, students must decide what to do with data that does not easily fit into the visualization scheme that they have chosen. Finally, students discuss which parts of this process can be automated by a computer and which need a human to make decisions.
Question of the Day: how can we make it easier for computers to process data?
Students begin the lesson by looking at a cake preference survey that allows respondents to specify both a cake and an icing flavor. They discuss how knowing the relationship between cake and icing preference helps them better decide which combination to recommend. They are then introduced to cross-tabulation, which allows them to graph relationships to different preferences. They use this technique to find relationships in a preference survey, then brainstorm the different types of problems that this process could help solve.
Question of the Day: How can patterns in data help us make decisions?
In this lesson, students get to practice making decisions with data based on problems designed to be familiar to middle school students. Students work in groups discussing how they would use the data presented to make a decision before the class discusses their final choices. Not all questions have "right answers" and in some cases, students can and should decide that they should collect more data. The lesson concludes with a discussion of how different people could draw different conclusions from the same data, or how collecting different data might have affected the decisions they made.
Question of the Day: how can patterns in data help make a decision?
In this lesson, students look at a simple example of how a computer could be used to complete the decision-making step of the data problem-solving process if it's given an algorithm. Students are given the task of creating an algorithm that could suggest a vacation spot. Students then create rules that a computer could use to make this decision automatically. Students share their rules and what choices their rules would make with the class data. They then use their rules on data from their classmates to test whether their rules would make the same decision that a person would. The lesson concludes with a discussion about the benefits and drawbacks of using computers to automate the data problem-solving process.
Question of the Day: How can computers help us make decisions about data?
In this lesson, students look at how data is collected and used by organizations to solve problems in the real world as well as also provide students an opportunity to reflect on the fact that in their own lives, they are intentionally and unintentionally producing data that companies collect and use. Students are presented with three scenarios that could be solved using data and brainstorm the types of data they would need and how they could collect the data. Each problem is designed to reflect a real-world service that exists. After brainstorming, students watch a video about a real-world service and record notes about what data is collected by the real-world service and how it is used. At the end of the lesson, students record whether data was provided actively by a user, was recorded passively, or collected by sensors.
Question of the Day: How is our data collected and why is it useful?
In previous lessons, students have seen how we can use data to make decisions. We've also seen that data can be collected about us constantly, leading to a larger amount of data to analyze - more than a human can handle! In this lesson, students are introduced to the concepts of Artificial Intelligence and Machine Learning using the AI for Oceans widget. First students classify objects as either "fish" or "not fish" to attempt to remove trash from the ocean. Then, students will need to expand their training data set to include other sea creatures that belong in the water. In the second part of the activity, students will choose their own labels to apply to images of randomly generated fish. This training data is used for a machine-learning model that should then be able to label new images on its own.
Question of the Day: How can machines "learn"?
To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.
Question of the Day: How can I use data to make my own recommendations?
Level Type | Level Status | |||||
Not started | In progress | Keep working | Needs review | Completed | Assessments / Surveys | |
Concept | Concept: Not started | Concept: In progress | N/A | N/A | Concept: Completed (perfect) | N/A |
Activity | Activity: Not started | Activity: In progress | Activity: Keep working | Activity: Needs review | Activity: Completed (perfect) | Activity: Submitted |
Level Type | Level Details | ||
Concept | Text | Video | Map |
Activity | Unplugged Lesson Extras | Online Assessment | Question Choice level |