Syllabus

CS 431/531 Web Server Design, Fall 2022

Instructor: Dr. Sawood Alam <salam@cs.odu.edu>

Location: Online and on-campus E&CS 3102

Time: Wednesdays, 4:20-7:00pm (Eastern Time)

Office Hours: Wednesdays, 3:00-4:00pm (Eastern Time) and by appointment (E&CS 3102 and online)

CRNs: 23955 (CS431) [In Hampton Roads], 23956 (CS431) [In Virginia], 23957 (CS431) [Outside Virginia], 23958 (CS531) [In Hampton Roads], 23959 (CS531) [In Virginia], and 23960 (CS531) [Outside Virginia]

Prerequisites: Familiarity with Unix/Linux, Socket programming, Git, and Docker

Homepage: https://cs531-f22.github.io/

Discussions: https://github.com/cs531-f22/cs531-f22.github.io/discussions (You need to subscribe to the discussions of this repository and regularly check posted messages)

Textbook: HTTP Developer’s Handbook by Chris Shiflett

The CS 431/531 Web Server Design course focuses on complete understanding of the Hypertext Transfer Protocol (HTTP) and implementation of a web server (not a web application). The course is programming intensive, prerequisites include the understanding of network (socket) programming. Students in this course decide their own implementation language within the Unix/Linux environment; the lectures are about HTTP and not about any particular programming language.

Each 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 determined 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 Policy

Attendance is required for class participation, presentation, and discussion. Absences must be cleared with the instructor prior to lectures. You are responsible for everything that is said, discussed, and presented during lectures.

Grading

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.

Grade Graduate Undergraduate
A 94-100 92-100
A- 90-93 90-91
B+ 88-89 87-89
B 84-87 82-86
B- 80-83 80-81
C+ 78-79 77-79
C 74-77 72-76
C- 70-73 70-71
D+ N/A 67-69
D N/A 62-66
D- N/A 60-61
F 00-69 00-59

Honor Code

Please familiarize yourself with the ODU Honor Code, especially resources pertaining to Plagiarism and Academic Integrity.