Assignments

All assignments are due by 23:59 EDT (i.e., Virginia’s local time, before midnight) on their corresponding posted dates. Late assignments lose 3 points for every 24 hours they are late unless prior arrangements are made with the instructor.

* Assignments are subject to change!

FEB
22

Assignment 1

Available Points: 20

A web server with a limited set of methods, status codes, headers, MIME types, and the access log.

Assignment 1 Details

MAR
09

Assignment 2

Available Points: 20

This assignment builds on top of the previous one and primarily focuses on conditionals and redirections with support for both long-lived and pipelined connections.

Assignment 2 Details

Extra Point Assignments

Opportunities to earn extra points will be made available on a rolling basis during the semester.

FEB
02

Assignment 0-0

Available Points: 5

A set of mandatory tasks, which will give extra points if done timely.

  • Join GitHub
  • Subscribe to the discussion board
  • Create your private assignment repository
  • Tell me what your class repository is

Assignment 0-0 Details

MAR
11

Assignment 0-1

Available Points: 5

A Dokerized echo server implementation.

  • Implement a simple echo server
  • Run it in a Docker container

Assignment 0-1 Details

MAR
17

Assignment 0-2

Available Points: 5

Creating a cloud hosting tutorial.

  • Prepare a step by step cloud server set up tutorial
  • Run an echo server in it

Assignment 0-2 Details

APR
13

Assignment 0-3

Available Points: 6

Mobile domain redirection and non-accept-encoding content negotiation examples in the wild.

  • Redirection to mobile domain
  • Content negotiation other than accept-encoding

Assignment 0-3 Details

APR
20

Assignment 0-4

Available Points: 9

HTTP Trailer, multiple transfer encoding, and user-agent-specific access denial examples in the wild.

  • HTTP Trailer
  • Multiple transfer encoding
  • Access denied for some user agents

Assignment 0-4 Details

APR
26

Assignment 0-5

Available Points: 9

HTTP design improvements, WARC file comparison, and in the wild examples of non-standard status codes, wrong MIME types, and unsafe methods.

  • Non-standard status codes
  • PATCH, PUT, and DELETE methods
  • Wrong API MIME type
  • HTTP/1.1 design improvements
  • WARC file comparison

Assignment 0-5 Details