In this unit, students will learn about the various ways we represent information digitally. Topics covered include number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data. Students will work in pairs to develop their own data encryption algorithms and attempt to crack the encryptions of their peers. Their text encryption tool will be embedded in their portfolio websites.
Number Systems
Lessons:
Intro to Digital Information
Number Systems
CRD-2.C.1 DAT-1.A.7 CRD-2.D.1 DAT-1.B.1 CRD-2.J.2 DAT-1.B.2 CRD-2.J.3 DAT-1.B.3 CRD-2.I.4 DAT-1.C.1 DAT-1.A.2 DAT-1.C.2 DAT-1.A.3 DAT-1.C.3 DAT-1.A.4 DAT-1.C.4 DAT-1.A.5 DAT-1.C.5
Computing Devices
Abstraction
Program Input and Output
Bits and Bytes
Overflow Errors
Range of Value Limits
Binary and Decimal Systems
Data Compression
Lessons:
Data Compression
Lossy Compression
Lossless Compression
DAT-1.A.8 DAT-1.D.4 DAT-1.A.9 DAT-1.D.5 DAT-1.A.10 DAT-1.D.6 DAT-1.D.1 DAT-1.D.7 DAT-1.D.2 DAT-1.D.8 DAT-1.D.3
Lossless Data
Lossy Data
Digital and Analog Data
Cryptography
Lessons:
Cryptography
AAP-4.B.1 AAP-4.B.2 AAP-4.B.3 IOC-2.B.8 IOC-2.B.5
Decidable Problems
Computer Viruses
Encryption
Example Activities and Big Idea/Computational Thinking Practice
Guess the Passcode: Students first imagine they forgot their 4-digit passcode for their phone, and need to guess the correct passcode. They develop a program to guess passcodes for them to speed up the process. Once the correct passcode has been guessed, the program should print out how many guesses it took to reach the correct one. This activity encourages students to consider security issues which can be expanded to how we create a safer computing culture.
Students discuss the following questions with a partner:
How many possible passcodes will you need to guess before you've guessed every possible passcode?
Why is this dangerous for the security of your phone?
Imagine a hacker had access to your phone and had written a program to guess every possible passcode until they had broken in. What defenses could we build into the phone to keep this guess and check strategy from working? (What happens when you guess incorrectly over and over again?)
Can you think of any guessing strategies that might be faster than starting at 0000 and iterating all the way up to 9999?
[Big Idea IOC][Computational Thinking Practice 6]