CS 415, Section 001 Sonoma State University Spring, 2023
 
Algorithm Analysis
Instructor: Henry M. Walker

Lecturer, Sonoma State University
Professor Emeritus of Computer Science and Mathematics, Grinnell College

Although much of this course is well developed, some details can be expected to evolve as the semester progresses.
Any changes in course details will be announced promptly during class.

Assignment involving Films

In place of an in-person class (just before break), you are to view three films online and answer the following questions regarding each film. (Each question asks you to state a conclusion. In each case, be sure to explain your reasoning behind the result, as well as stating the conclusion itself. Also, be sure that each of your responses is written in complete sentences, using careful English. In grading, expect consistent point deductions for sentence fragments– sequences of words without subjects or without verbs, or constructions with other grammatical errors.)

  1. Film: Sorting Out Sorting, Dynamic Graphics Project, Computer Systems Research Group, University of Toronto, 1981.

    Although this film is clearly dated (it is over 40 years old), it has become a classic, and it still provides a fine review of 9 different sorting algorithms and compares their efficiency in a direct way. After viewing this film, answer the following questions.

    1. How would you classify each of the nine algorithms discussed—placing each into one of the following categories: consistently efficient, mostly efficient (but not always, moderately efficient, sometimes efficient, not very efficient, awful? (Explain briefly)
    2. All simulations in the film involve data sets which have been generated randomly. To what extent do you expect the timings of these algorithms would be the same (or different) if the data sets were in ascending or in descending order? (Explain briefly.)
    3. Suppose you needed to use one of the algorithms from the film to sort 1 million data items, which initially were in random order. Which algorithm would you choose, and why?
  2. Film: Public Key Cryptography: RSA Encryption Algorithm, by the Khan Academy, July 30, 1012`.

    The RSA Encryption Algorithm depends upon mathematical properties of prime numbers and their products. This video outlines some of the history and motivation for this encryption algorithm and gives some simple examples about how it works in practice.

    Although this film skips over some of the underlying number theory, the mathematics is not particularly hard, and we will review the foundational ideas behind the algorithm later in the semester (time permitting). For now, review the film that provides a moderate level of detail for RSA Encryption, and answer the following questions.

    1. If Alice wants to receive encrypted messages from Bob or others that will be difficult for others to decrypt, what steps must Alice take? That is, what preliminary work/computations must Alice do create both public and private keys—making encrypted communication possible?
    2. What should Alice communicate to Bob, so that Bob can send encrypted messages, and how will Bob encrypt messages? Also, how will Alice decrypt messages received? That is, how are the public and private keys used to encrypt and decrypt messages?
    3. Why is it reasonably easy for Alice to construct the public and private keys, while it is difficult for others to break the code?
  3. Film: The era of blind faith in big data must end" by Cathy O'Neil, September 7, 2017. (Ted Talk)

    This talk considers algorithms that arise from the collection of massive data sets—a field often called "Big Data". Behind the scenes, the algorithms largely involve extensive use of statistical methods. In practice, much of the mathematics is not made public, under the protection of corporate secrets as well as arguments related to the complexity of the mathematics. After viewing this film, answer the following questions/statements.

    1. What factors/causes does the speaker claim can cause an algorithm to display bias?
    2. What are at least two examples that the speaker presents to illustrate algorithmic bias? (Describe each in 3-5 sentences.)
    3. What does the speaker suggest can and should be done by developers, the people using an algorithm, those directly impacted by the algorithm, and the general public?
    4. What is your reaction to this film? That is, to what extent do you think this type of issue might arise within computer science algorithms (where computer science may overlap but also may be different from Big Data)?
created December 30, 2022
revised December 30, 2022—January 3, 2023
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.