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
Don't forget to do the mixed review quiz from module 3 at some point before the midterm.

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.

Make sure you are logged into the book so your work is saved and you get credit. The surest way to make sure you are logged in is to start the programming assignment by clicking on the button in the corresponding assignment in Elearn.
Note that there are no readings from the Computation section of Welcome to CS this week.

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: