Week 4
Learning objectives
Upon finishing this learning module, you should be able to:
- Describe how asymmetric (public key) cryptography can be used to either authenticate a message or send a private message
- Identify how certificate authorities provide a basis for trust on the internet
- Design a simple program via decomposition
- Write Python function that returns results of a calculation
Class Schedule
First Class Meeting
- Algorithm of the Week - Public Key Encryption
- Programming - Ch 18
Independent:
- Algorithm of the Week Reading
- Do written assignment
Second Class Meeting
- Midterm
- Programming - Ch 19
Independent:
- Work on programming
- Work on the Impacts of Computing assignment
Midterm
Take the midterm at the location you identified in the survey last week. The exam is expected to take an hour. No resources are allowed.
Programming
Do Chapter 18 and 19 from the Programming chapters in Welcome To CS.
Algorithm of the Week: Public Key Encryption
Read these pages on Authentication & Public Key Encryption (Make sure to read all the way through until the page titled RSA). They are a replacement for Ch 9 in Nine Algorithms.
This video has some background and tips to go with the reading:
Optional: Read Ch 9 of Nine Algorithms book. It covers similar ground to the reading above.
However, Nine Algorithms chapter has a slightly different focus - feel free to read it as a second perspective on this week's topic.
Impacts of Computing
We are going to explore the topic of Cryptocurrency in a week 6 discussion. As preparation for that discussion, you need to do some research and thinking this week.
See the Canvas assignment in this week's module for specific instructionson what to do for this week.
Optional Extras
Bitcoin is a digital currency that uses public/private key technology to sign transactions so that they can be verified by everyone using Bitcoins. This video explains how it works: