CS2910
Schedule

This is an old version of this course, from Fall 2014. A newer version is available here.

Jump to the Current Week


Week 1 (09/08-09/12)

  • Lecture 1:
  • Lab:
    • Assignment (due before the start of lab on Tuesday of week 1):
    • Lab exercises:
      • Wireshark is a "packet sniffer" that supports logging and analysis of network traffic. In this course, we will use it as a tool to learn about network protocols and to find and fix problems with network applications, like using an oscilloscope to study the behavior of an electronic circuit.
      • Install Python development environment
        • Go to the Python Windows downloads page
        • Select the latest Python 2 (not Python 3) installer (e.g., Python 2.7.8)
        • On the Python release page, download an appropriate MSI Installer for your Windows environment (i.e., X86 or X86-64).
        • Invoke the installer package to install Python on your system.
        • Add the Python install directory to your system path using these instructions, sections 3.3 and 3.3.2.
  • Lecture 2:

Week 2 (09/15-09/19)


Week 3 (09/22-09/26)

  • Lecture 1:
    • Class exercise
      • Continuation of Python data encoding exercise
  • Lab:
  • Lecture 2:
    • Assignment (due before the start of class):
    • Class exercise
      • Reading a protocol specification
        1. What is the HTTP date/time stamp format? What time zones may be used?
        2. When is a Content-Length header forbidden?
        3. What should an HTTP/1.1 client do if it does not know how to handle "chunked" transfer encoding?
        4. What does an If-Modified-Since header do?
        5. What is the most common form of Request-URI? What other forms are defined?
        6. What is escaped encoding ("% HEX HEX") in a Request-URI? What RFC defines it?
        7. In an HTTP response, what is the difference between "Moved Permanently" and "Temporary Redirect" status?
        8. How is the Location header used?
        9. How does "pipelining" work with persistent connections?
        10. What is the difference between GET and HEAD methods in an HTTP request?

Week 4 (09/29-10/03)

  • Lecture 2:
    • Assignment (due Before 9am on the day of class):
    • DNS

Week 5


Week 6


Week 7

  • Lecture 1
    • Assignment (due before 8:30AM on the day of class)
    • Class Exercise
      • Creating and interpreting SMTP sessions
  • Lab
  • Lecture 2
    • Assignment (due before 8:30AM on the day of class)
    • Class exercise
      • Paper Quiz 3: Email protocols, SMTP, SMTP with SSL/TLS or STARTTLS
      • Fetching email with IMAP

Week 8


Week 9

  • Lecture 1
    • Assignments (due before 8:30AM on the day of class)
      • Watch videos:
        • IP protocol
        • IPv4 addressing and DHCP
        • Network address translation (NAT and UPnP)
    • Class exercise
      • Congestion control
      • Router buffering effects
  • Lab
    • Lab 7: TCP Basics (Assignment handed out in hard-copy; due in class, Thursday of Week 9)
  • Lecture 2

Week 10

  • Lecture 1
    • Assignments (due before 8:30AM on the day of class)
    • Class exercise
      • Modular Arithmetic
      • RSA public-key cryptography
      • Public-key cryptography with RSA
  • Lab
  • Lecture 2
    • Continuation of Lab 8
    • Network utilities

Exam week

  • Final exam - Wednesday 11am-1pm L309 (both my sections) (19 Nov 2014)

Acknowledgement: Original schedule created by Dr. Sebern