Here is a general outline of the key concepts and commands (arranged by topic) that you should know for the final.

The exam will have the following format:

  1. Definitions: Briefly define terms using one or two sentences. (10 Points)

  2. Short Answers: Briefly answer questions about:

    • Hardware (5 Points)

    • Data Structures / Algorithms (5 Points)

    • Code Evaluation (5 Points)

    • Networking (5 Points)

    • Web Programming (10 Points)

    • Data & Information (5 Points)

    • Privacy & Security (5 Points)

  3. Programming: Write a Python involving requests and write a HTML document. (10 Points)

Parts 1 and 2 is to be done first on paper. However, part 3 can be done with the aid of your laptop and the Internet (but not other people).

Comprehensive

The final exam will be a comprehrensive assessment. This means that everything we have discussed this semester is considered fair game.

That said, the majority of the test will cover the last half of the class, as detailed below.

Terms

Concepts

Networking

Sample Questions

  1. Rank the following networking technologies in terms of maximum bandwidth: dial-up, cable, DSL, fiber optics.

  2. Between ethernet and wireless, which one has the better latency? Explain.

Web Programming

Sample Questions

  1. What are the components of the following URL: https://cdt.nd.edu/requirements/

  2. What happens when you enter a URL in your web browser?

  3. Given a basic Tornado web application, evaluate how the code would process a form submission.

  4. How do we use requests to download web content?

Data & Information

Sample Questions

  1. What are the pros and cons of using Cloud Computing?

  2. What is the convenience-surveillance trade-off and where do you stand?

Privacy & Security

Sample Questions

  1. Can there be such a thing as "responsible encryption"? Explain.

  2. How would you brute-force attack an iPhone? What would you do to mitigate such an attack?