Sonoma State University
 
Algorithm Analysis
Instructor: Henry M. Walker

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

Although CS 415 has been well developed for several years, last year the CS faculty made a significant, long-term curricular change regarding SSU's Upper Division GE Area B Requirement.

Assignment involving Films

In place of an in-person class, 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.

    In answering the following questions, you need not delve into depth with the number theory that underlies RSA encryption—only a high-level understanding of number theory should be adequate.

    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 to 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
updated October 29, 2024
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.