Chapter 1 - Data Storage
Outcomes
- Recognize that the fundamental building blocks of computers are logic gates and be able to determine the output of a simple collection of gates given their inputs.
- Apply an understanding of how computers represent various kinds of values to a variety of situations in both CS classroom and daily life, e.g.,
- Estimate storage requirements for various kinds of data based on size needed for representation and elements being represented (e.g., bits needed for individual values and the number of values needed).
- Justify the choice of a particular compression technique for a data file.
- Explain surprising or incorrect results from computer programs.
- Discuss situations where inexactness of computer calculations matter and don't matter explaining the source of the inexactness.
- Apply an understanding of computer memory/storage to a variety of situations in both CS classroom and daily life, e.g.,
- Provide a rationale for choosing amounts of various kinds of memory when purchasing a computer based on speed and cost considerations.
- Explain primary uses for various kinds of memory and the impact of speed and persistence/permanence.
- Recognize that computers are not infallible—that errors can occur and can, in some cases, be recognized and corrected.
- Apply understanding of representation and storage knowledge to social issues, e.g.,
- Liability in various scenarios.
- Ethics of actions in various scenarios.
- Consequences of decisions in various scenarios.
Activities
Reading Guide
In order to guide your reading we have designated each section into one of three categories:
- Essential - You should thoroughly read this material and be prepared to answer questions about this material on assessments.
- Important - You should thoroughly read this material and be prepared to participate in in-class discussions/activities about this material.
- Useful - We feel that this material is worth knowing and may supplement other material in the chapter. However, we do not plan on assessing or discussing (unless you ask questions).
Section | Essential | Important | Useful |
---|---|---|---|
1.1 Bits and Their Storage | |||
Boolean Operations | |||
Gates | |||
Flip Flops | |||
Hexadecimal | |||
1.2 Main Memory | |||
1.3 Mass Storage | |||
1.4 Representing Information as Bit Patterns | |||
1.5 The Binary System | |||
Binary Notation | |||
Binary Addition | |||
Fractions in Binary | |||
1.6 Storing Integers | |||
Twos Complement | |||
Addition in Twos Complement | |||
The Problem of Overflow | |||
Excess Notation | |||
1.7 Storing Fractions | |||
1.8 Programming | |||
1.9 Compression | |||
1.10 Communication Errors | |||
Parity Bits | |||
Error Correcting Codes |
Video Resources
- Crash Course CS: Introduction (If you didn't watch it earlier as requested).
- Crash Course CS: Boolean Logic and Gates
- Crash Course CS: Representing Numbers and Letters in Binary
- Crash Course CS: Compression (This makes some references to videos you will watch later in our course, but you should be able to follow the main ideas).
- https://www.youtube.com/watch?v=Xpk67YzOn5w (How does binary work, how can numbers be represented in ASCII. Very similar to a previous video but may still be worth watching.)
- https://www.youtube.com/watch?v=wI0upu9eVcw (How hard drives work. Should follow binary video above.)
- https://www.youtube.com/watch?v=PZRI1IfStY0 (Why rounding errors occur in binary.)
- https://www.youtube.com/watch?v=15aqFQQVBWU (Code.org video on picture encodings)
Activities
In order to explore logic gates you can use the following website
In order to explore the different encodings/values of one byte you can use the following scratch program.
Study Guide
The competency demo for this chapter will consist of several questions from the following study guide. As you study this chapter we suggest you work through the materials in this study guide and ask questions if you need clarifications.
Study Questions
After you complete the readings for this unit/chapter you should arrange to meet with your groupmates and work on the following activities.
Based on these questions we will prepare additional materials to help clarify issues.
- Podcast response videos
- Podcast 1.1 - General Introduction (4 minutes)
- Podcast 1.2 - Taking CDs and understanding logic gates (9 minutes)
- Podcast 1.3 - Data Representation [Questions 4 and 12] (15 minutes)
- Podcast 1.4 - Number of Unique values [Question 7] (4 minutes)
- Podcast 1.5 - Questions 11 and 14 (8 minutes)
- Podcast 1.6 - Remaining questions (9 minutes)
- Group Meetup Video