CS 431/531 Web Server Design, Fall 2019
Instructor: Sawood Alam <firstname.lastname@example.org>
Location: Dragas Hall (DRGS) 1117
Time: Thursdays, 4:20-7:00pm
Office Hours: Thursdays, 3:00-4:00pm and by appointment (E&CS 3102)
CRNs: 20452 (CS431) and 20453 (CS531)
Prerequisites: Familiarity with Unix/Linux, Socket programming, Git, and Docker
Discussions: https://github.com/cs531-f19/discussions (You need to subscribe to this repository and regularly check posted issues)
Textbook: HTTP Developer’s Handbook by Chris Shiflett
This class will focus on the complete understanding of the Hypertext Transfer Protocol (HTTP) and the implementation of a web server. The class will be programming intensive: prerequisites include the understanding of network (socket) programming. The students will decide their own implementation language within the Unix/Linux environment; the lectures will be strictly about HTTP and not about any particular programming language.
The student will implement an HTTP server with five assignments that demonstrate protocol conformance. The assignments will build on the previous assignments, and at the end of the class the student should have a fully functioning web server that implements most of the common HTTP functionalities. There will be no class textbooks; class lectures and RFCs will be the primary guide for students. Grades will be determine solely on the design and performance of the HTTP servers.
Students will have their own HTTP server implementation in their private GitHub repositories with the instructor added as a collaborator in each repository to allow code access for review and testing. Each server will be deployed in a Docker container for testing on a remote machine.
Attendance is required for class participation, presentation, and discussion. Absences must cleared with the instructor prior to class. You are responsible for everything that is said, discussed, and presented during class.
The class grade will consist of 5 Assignments of 20 points each. Late assignments lose 3 points for every 24 hours they are late unless prior arrangements are made with the instructor. Readings and assignment descriptions will be released on a rolling basis during the semester.
Please familiarize yourself with the ODU Honor Code, especially resources pertaining to Plagiarism and Academic Integrity.