Study Guide for Final

This is simply a guide of topics that I consider fair game for the final. I don't promise to ask you about them all, or about any of these in particular; but I may very well ask you about any of these.

  1. Networks and the Internet
    1. History: ARPAnet, NSFnet, Internet
    2. How networks are laid out: client/server, peer-to-peer
    3. Local and wide area networks
    4. Topology: bus, token ring, star
    5. How Ethernet and wireless work; how they are used in a network; problems
    6. Modems, DSL, and cable modems
    7. Connecting networks; how they talk to each other, how information travels from one point in a network to another point in the same, or a different, network
    8. What a network protocol is; SMTP (email), HTTP (web)
    9. How Internet file sharing, email, chat, and instant messaging work
    10. How streaming audio and video work
    11. All about web browsers: how they get web pages, cookies (especially third party cookies)
    12. Web searching and Google
  2. Security
    1. How attackers get into a PC
    2. Spyware, adware, and spam
    3. Firewalls
    4. Computer worms and viruses
    5. Antivirus, antispam, and defensive software
    6. Encryption with two keys
  3. Programming
    1. Translating a problem statement into a series of steps that can then be written as a program (stepwise refinement)
    2. What a variable and a constant are
  4. Python
    1. The IDLE GUI, interpreter
    2. Strings, quotes, and string methods and functions
    3. Numbers, arithmetic operations, and conversion to/from strings
    4. Comparisons
    5. If, while, and for
    6. Range(n), random.randrange(n), random.randrange(m, n)
    7. Recognizing a valid program
    8. Finding bugs in programs

Here is a PDF version of this document.