Week 3
Learning objectives
Upon finishing this learning module, you should be able to:
- Perform simple math on unsigned binary numbers.
- Describe how binary values can be used to represent non-numeric data like text (ASCII) and images
- Perform conversion from hexadecimal (base 16) to and from binary.
- Calculate values using modulo (or clock) arithmetic
- Describe how two people can use the Diffie–Hellman algorithm to generate a shared secret without exchanging secret messages.
- Write simple Turtle programs in Python
- Use procedures to reuse Python code and form abstractions
Class Schedule
First Class Meeting
- Binary Math
- Data Representation
- Work on programming
Independent:
- Binary and Data Representation readings
- ASCIIHex Worksheet
- Programming - Ch 16
Second Class Meeting
- Algorithm of the Week Activity
- Work on programming
Independent:
- Algorithm of the Week reading
- Work on the Impacts of Computing assignment
- Programming - Ch 17
Programming
Do the Ch 14 and 15 assignments based on Programming chapters from Welcome To CS.
Binary Math
Read sections 4.4 and 4.5 in Welcome To CS. This reading is part of the Computing Week 3 assignment.
Representing Other Data
Note that you are skipping 4.6-4.8.
Read about ASCII representation of text and about how images can be represented in sections 4.9 to 4.10 of Welcome To CS. This reading is part of the Computing Week 3 assignment.
Read about Hexadecimal and hex color codes: sections 4.11 to 4.12 of Welcome To CS. This reading is part of the Computing Week 3 assignment.
Do the ASCIIHex worksheet. (Class Files link in elearn)
Algorithm of the Week: Private Key Cryptography
Read Ch 4 of Nine Algorithms the Changed the Future. This video has some background and tips to go with the reading:
Check out the Diffie–Hellman supplement. It has tips on how to doing clock arithmetic and a cool interactive version of the algorithm that can help you understand who knows what information as the computations are performed.
Impacts of Computing
This week, you will participate in a discussion about the social impacts of Self Driving Cars. See the Canvas assignment in this week's module for specific instructions
Optional Extras
Cryptography
The Introduction to Cryptography on Khan Academy is great if you want to learn more about cryptography and the related math.
Hex Editing
Do you want to see the bits from a real image? Or any other file on your hard drive? Programs called Hex Editors allow you to see the raw information in a file and modify it. You can google "hex editor windows" or "hex editor mac" if you want to try one out.
Fractional and Negative Numbers
If you are interested in how negative numbers and decimals are represented using bits, read Welcome to CS 4.6-4.8. You can also try these videos for extra insight: