Lesson 2: Patterns and Representation

Overview

In this lesson students create their own system for representing information. They begin by brainstorming all the different systems they already use to represent yes-no responses. They then work in small groups 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 use patterns of multiple cards to represent each letter. Students create messages with their systems and exchange with other groups to ensure the system worked as intended. In the wrap-up discussion the class reviews any pros and cons of the different systems. They discuss commonalities between working systems and recognize that there are many possible solutions to this problem and what's important is that everyone use the same arbitrary system to communicate.

Purpose

In this lesson students get to explore for themselves the qualities of a good system for representing information. They should find through creating and testing their systems that

  1. there are typically many possible systems for representing information
  2. people must agree on a common set of rules for a system to work

The features of the systems students create in this lesson serve as a reference point in coming lessons when students explore the representation systems actually used in computers.

In the next lesson students will be introduced to the concept of binary and how computers use on-off signals or "0's and 1's" to represent information. Even though this concept is hinted at in the introductory yes-no activity, it shouldn't be introduced until the next lesson.

Agenda

Warm Up (10 mins)

Activity (40 mins)

Wrap Up (10 mins)

View on Code Studio

Objectives

Students will be able to:

  • Describe the necessary features of a system for representing information
  • Create, use, and provide feedback on a system for representing information
  • Iteratively improve upon a system for representing information by testing and responding to feedback

Preparation

Links

Heads Up! Please make a copy of any documents you plan to share with students.

For the Teachers

For the Students

Vocabulary

  • Decode - to change how information is represented so that it can be read by a person
  • Encode - to change how information is represented so that it can be read by a computer

Teaching Guide

Warm Up (10 mins)

Systems to Answer Yes-No Questions

Discussion Goal

Goal: Students should see that the same information can be represented in lots of different ways. They might come up with saying "Yes" or "No" in many different languages, thumbs up vs. thumbs down, plus or minus, up arrow vs. down arrow, shaking head up and down vs side to side etc. Prompt students with examples if they don't understand that they need pairs of responses.

Your board might look like this after writing responses.

Prompt: Imagine your friend asked if you could hang out later. This is a yes-no question and so one way you could respond is by saying "Yes" or "No". This is a pair of responses your friend could understand, but there's a lot more possible pairs.

How many different ways do you know that you could write, say, or represent the answer to a "Yes-No" question. Write down as many ideas as you can.

Discuss: Students should brainstorm silently, then share with their tables, then finally share as a class. Write down ideas at the front of the room as ideas are shared.

Discussion Goal

Goal: This conversation sets you up to make another important point, that different systems are created for different contexts. Today you're going to ask students to make a system for what will seem like a very arbitrary context, a deck of animal cards. Lean on the fact that they'll have brainstormed lots of "weird arbitrary systems" in this warm-up. That's because there's different contexts in which they're used. In the subsequent lesson you can call out how designing systems for wires with electricity in them is just as weird and arbitrary.

Prompt: Each row in our table is a different "system" but they all represent the same information. Why do we have so many different systems to represent the same information?

Remarks

What we're seeing here is that there are many "systems" that we could choose to use to represent the same information. The information of a "Yes" could be a head nod or a thumbs up, and a "No" might be a minus sign or a down arrow. As humans we've created lots of systems because they are better or worse depending on the situation. In a loud room a thumbs up works better than shouting. People speak many different languages. We've made lots of systems because we want to communicate information in lots of different situations.

Computers need systems to represent information too, and today we're going to start exploring what kinds of systems a computer would need to represent information. Today we're going to focus more on what makes good systems, and tomorrow we'll start zooming in on the specific systems computers use.

Activity (40 mins)

Teaching Tip

Encourage Students to Problem Solve: There are many possible solutions to this activity and it is intentionally very open-ended. Remind students that problem solving doesn't always mean getting something to work the first time, and that they'll need to iteratively test their solutions before being sure they're correct.

Common Misconception: Students may come up with patterns of different lengths. For example "A = 1 Elephant, B = 2 Elephants, C = 3 Elephants ...". They'll find that then they won't know if a word has 2 A's in a row or a single B. Let students find this for themselves by testing their system (an important part of the problem solving process).

Representing the Alphabet

Group: Place students in groups of two or three.

Distribute: Give each group a copy of Representing Information - Activity Guide and a set of Animal Shapes - Manipulative. You can cut them beforehand or have the group cut their own set.

Activity Guide - Representing Information

Review Activity: Review the rules of the activity with the class.

Teaching Tip

How Many Tests: This activity gives students a chance to experience for themselves the challenges of creating a system to represent information. After two tests students should have enough experience to participate in the wrap-up discussions and see the important points of the activity, even if they had some issues with their own systems.

Develop Rules: Give students a few minutes to brainstorm their rules. Encourage them to test their ideas with their group members since they know exactly how the test will run. Ask them to choose a couple short words and test them with their group members before sharing with another group.

Content Corner

Understanding the Activity: The fact that there are only six types of cards means students will need to make patterns of multiple cards to represent each letter. The fact that the cards are all placed in a neat stack means that they will need to indicate when one pattern stops and the next begins. Computer scientists run up against these same challenges when desiging their own representation systems.

The simplest solutions to the activity will be to assign each letter a unique pattern of two shapes (e.g. A = "Pig Pig", B = "Pig Elephant" and so on). Nevertheless there are still an enormous number of systems possible systems with these qualities and likely no two systems in your class will be the same. There is no one "best" system and so what matters is that we all arbitrarily decide to use the same one. Again this is true of representation systems students will see in coming lessons.

Test Rules: Once students have finished developing their rules have them pick a new short word to represent. They should carefully make a single stack of cards to represent their word, leave the cards on the table and then either pass their rules and stack of cards or rotate around the room. Groups should then flip the stack of cards at their tables back over and carefully decode the word.

Groups should check with the original rule creators to see if they successfully decoded the word.

Review and Revise Rules: Based on the test, have groups decide if the rules make sense or if they need to be improved in some way. Ask groups to provide constructive feedback and provide some time to revise the rules.

Test Rules Again: Have groups prepare a stack of cards to represent a new word before repeating the test. They should switch rules with a different group this time.

Review and Revise Rules: Give students one more opportunity to provide feedback and make final edits to their rules.

Wrap Up (10 mins)

Group Discussion

Prompt: Take a minute at your tables and talk about the following prompts. Be ready to share your thoughts.

Discussion Goal

Goal: This discussion is aimed to highlight the fact that there were many possible solutions to this problem. It may be the case that some groups found problems with their rules as a result of testing them. Point out, however, that even very different sets of systems for representing this information could work.

In wrapping up the second prompt try to call out similarities across rules e.g.

  • Each letter needs a separate pattern
  • We need to know when one pattern stops and the next starts.
  • What was the same and what was different about the different sets of rules you saw?
  • Are there some things that every group needed to account for to complete the challenge?

Remarks

Today you created your own systems to represent information. We saw that there are many different systems we could use to represent the same information. What's important is that there are clear rules for how to use the systems, and that everyone knows the rules.

Computer scientists care about systems for representing information because a computer doesn't magically "understand" the world. It needs to be given information using a system that takes into account the fact that it's just a box of wires.

When we change the way that we represent information so that it's easier for a computer to use, we encode that information. When we change it back so that it's easier for a human to understand, we decode that information.

Vocabulary: Introduce the following terms

  • Encode: to change how information is represented so that it can be read by a computer
  • Decode: to change how information is represented so that it can be read by a person

Remarks

In the rest of this chapter, we're going to look at ways that we can encode information so that it can be used by a computer.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

DA - Data & Analysis
  • 2-DA-07 - Represent data using multiple encoding schemes.