Lesson 7: Storage
Students explore the importance of storage within the Input-Storage-Processing-Output model of a computer. The warm-up activity asks students to reflect on the types of information they have seen computers store in the past, like documents, photographs, or videos. The unplugged main activity has students develop an algorithm to process a small pile of cards in search of specific cards within the deck. Constraints on how students can move the cards force them to consider the importance of storage even while they are processing the deck. The lesson concludes with a discussion of the two types of storage students saw in this lesson and the importance of storage while processing information.
This lesson serves many roles. It is centered around another collaborative problem-solving challenge which will continue to develop students' problem-solving skills. It completes students' exploration of the Input-Storage-Processing-Output model by providing two perspectives on the importance of storage. It builds upon the previous lesson where students learned that algorithms are structured ways that computers process information to solve a problem.
As with the previous lesson, the understandings of the computer science content addressed in this lesson are intentionally high-level. Students should understand that in order to process information at all, a computer must store it. Students aren't expected to understand the technical details of how this is achieved, or even consider the implications of this fact. In Unit 2 students will have more opportunities to think about the implications of their information being stored and published online, and in Unit 3 students will learn to use various means of storing information while developing programs.
Wrap Up (15 mins)
Students will be able to:
- Provide examples of common types of information that is stored on a computer
- Explain the need for storage as part of processing information with a computer
- Develop an algorithm that incorporates storage considerations
- Print copies of Storage and Processing - Activity Guide
- Several decks of cards to share among the class
- Packs of sticky notes or squares of paper
For the Teacher
- Storage and Processing - Exemplar
For the Students
- Storage and Processing - Activity Guide
What is Storage?
Prompt: So far we have looked closely at input, output, and processing. We haven't looked much at "storage" in the context of a computer. What things might a computer need to store in order to work? Can you think of any examples of something a computer stores?
Goal: The prompt alone highlights the fact that today's lesson will be focused on storage. The discussion is intended to highlight common ways people think about storage in a computer. It's okay to slightly "mislead" students towards long term storage or files here as you lead the discussion, e.g. with prompts like "what other kinds of things do you think a computer has to store"? The following transitional comment acknoweldges those ideas and highlights that today's lesson examines a different kind of short term storage computers.
Potential answers to the prompt include: photos, documents, videos, video games, text messages, emails, programs
Discuss: Have students brainstorm a list of examples at their tables. When ready have students share their answers with the class and record their answers on the board. Create a running list.
When we think of storage we often think of files. Music, photos, documents, movies, and plenty of other things need to be stored on a computer to use them. What we don't often realize, however, is the importance of storage even inside the processing of information. Today we're going to explore algorithms again with a new challenge, this time that shows us a little bit about how computer scientists think about storage.
Group: Place students in groups of 2 to 3. Larger groups likely will not be productive
Distribute: Storage and Processing - Activity Guide to each group as well as a deck of a cards and a small stack of post its
Storage and Processing Activity Guide
The Role of Storage in Processing: Computers don't just "remember" information, they need to store it to come back later. The "safe spots" in this activity are a visual representation of how a computer might store results during an algorithm (processing) in order to keep track of its progress. Many people might be more aware of how computers store files with documents, spreadsheets, movies, and photos. This activity shows that storage is just as necessary during the actual processing of information as well.
Storage and Processing: As a class or out loud read through this section introducing the point of the activity.
Setup and Rules: Read through the rules together and answer questions students have about them. You may wish to demonstrate how the activity will work as well.
Input and Output: To reinforce the role of "input" and "output" the activity asks students to record the inputs and outputs of their algorithm. In each case the input will be the small pile of cards they begin with and the output will be the card they are looking for.
Challenge 1 - Smallest Card: Ask students to first work in small groups to develop their algorithm by hand. They should run them a few times with new small stacks of cards to make sure it works and follows the rules.
Once they have a working algorithm have students write the steps of their algorithms as well as how many safe spaces they need on their activity guide so that another group would be able to follow the steps.
Trade Rules: Each group should then trade their rules with another group and ensure the algorithms work.
Discuss: Have groups share whether their algorithms were the same and how many safe spaces they needed to use.
Challenge 2 - Largest Card: This challenge is almost identical to the last. Once again have students develop an algorithm to find the largest card.
Increase the Challenge: When groups share you can make it harder by having them start run the algorithm themselves and then stop partway through before trading.
Trade Rules: Once again each group should then trade their rules with another group and ensure the algorithms work.
Discuss: Have groups share similarities and difference they noticed between their algorithms and the one they tried. Again compare how many safe spaces students needed to use.
Challenge 3 - Second Largest Card: Repeat the same steps for this challenge.
Challenge 4 - Middle Card: This challenge is quite difficult and may need to be scaffolded. The difference between this and previous challenges is that now the minimum number of safe spots you need changes with the size of the deck.
A simple solution is included in the exemplar. Just create a safe spot for every single card in the deck. If there are 101 cards, make 101 safe spots. Then you can start alternately removing the largest or smallest cards on the table until there's one left.
A more complex solution uses "roughly half" the number of safe spots as there are cards. If you have 5 cards, the "middle" card is the third largest, so you'll need 4 safe spots. For 7 cards the middle is the fourth largest, so you'll need 5. Continuing the pattern, for 101 cards you'd need the 51st largest so 52 safe spots.
In either solution the number of safe spots grows with the size of the deck. Either solution (or others with this same property) are fine for students to arrive at. In fact, this puzzle should be treated more as a challenge problem, especially for younger classes. The goals of this lesson are easily achieved without students successfully completing or even attempting this challenge, though it may be an interesting extension for some of your students.
Wrap Up (15 mins)
Goal: The first prompt makes sure that students can accurately identify the inputs, outputs, storage, and processing in this activity. If students have used the activity guide they should understand that the input is the stack of cards, the output is the card they were looking for, the storage was being done on the safe spots, and the processing was the algorithms they wrote.
The second prompt seeks to highlight the role of storage in the processing of information. Students may note that they "lose" information if it's not stored on a safe spot. The same is true for a computer which cannot "remember" things, it needs to store them. As a result storage and processing go hand in hand.
The third prompt should be used to discuss real-world situations where a "largest" or "smallest" thing is found. This is a chance to make some connections. Possible examples include
- Finding the cheapest product online, Input: info on all products Output: cheapest
- Finding the most liked photo today, Input: info on all photos Output: most liked
- Finding the most watched video Input: info on all videos Output: most watched
See how many others students can think of and use this as a chance to reinforce an understanding of the inputs and outputs in everyday computing tasks. Students will see this in more detail in the following lesson.
Reviewing Storage and Processing
Prompt: Ask students to consider each of the following questions as part of a debrief conversation from the activity. This can also be completed as a journal. It may make sense to run a conversation after each prompt rather than have students write responses to all three.
- What were the inputs, outputs, storage, and processing in this activity?
- Why did you need to store information as a part of your algorithms in this activity?
- When have you ever used a computer to find the "largest" or the "smallest" of something? What are the inputs and outputs in that example?
Discuss: Students should share their responses in small groups before discussing as a whole class.
We now have a pretty firm understanding of what is meant by the input-output-store-process model of a computer. Next time we're going to explore in more detail how the apps we use everyday use this model to help us solve problems.
CSTA K-12 Computer Science Standards
AP - Algorithms & Programming
- 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
- 2-AP-17 - Systematically test and refine programs using a range of test cases.
CS - Computing Systems
- 1B-CS-02 - Model how computer hardware and software work together as a system to accomplish tasks.