Syllabus for CS 537, Client-Server Interfaces
Spring 2001
The chapter readings are from Comer and Stevens; the tips are from Snader. I
have matched only selected tips from Snader with chapters from Comer and
Stevens; you should read all of Snader before (preferably well before) the end
of the semester.
I will try hard not to change the syllabus during the semester, but I make no
promises. The first two-thirds of the syllabus is stable, but the last third
(April) will probably change.
- Week 1 - Introduction to Client-Sever Computing (16, 18 January)
- Readings
-
Chapters 1 & 2
- Class notes
-
Distributed computing introduction
Client-server distributed computing
- Week 2 - The Socket API (23, 25 January)
- Readings
-
Chapters 4 & 5, Tip 5
- Class notes
-
The IP protocol set
The Sockets API
- Week 3 - Iterative Servers (30 January, 1 February)
- Readings
-
Chapters 9 & 10, Tips 20 & 21
- Class notes
-
Iterative servers
- Assignment
-
Nim project 1 available on Thursday, 1 February
Nim project 1 due on Thursday, 12 April at 2:00 p.m.
- Week 4 - Client and Server Algorithms (6, 8 February)
- Readings
-
Chapters 6 & 8, Tip 4
- Class notes
-
Client architectures
Server architectures
- Week 5 - Forked-Based Concurrency (13, 15 February)
- Readings
-
Chapters 3 & 11
- Class notes
-
Concurrency
Unix fork concurrency
- Week 6 - Remote-Procedure Calls (20, 22 February)
- Readings
-
Chapter 21
- Class notes
-
Introduction to remote procedure calls
- Week 7 - Data Representations and Program Generation (27 February, 1 March)
- Readings
-
Chapters 20 & 22
- Class notes
-
XDR and the presentation layer
Building RPC systems
RPC case studies
- Test 1
- Thursday, 1 March
-
The answers
The grades
- Week 8 - Spring Break (6, 8 March)
- Week 9 - Thread-Based Concurrency (13, 15 March)
- Readings
-
Chapters 12 & 13
- Class notes
-
Thread based concurrency
Process vs threads performance
Single-threaded concurrency
- Week 10 - Concurrency Issues (20, 22 March)
- Readings
-
Chapters 16 & 17
- Class notes
-
Concurrency and Server Architectures
Concurrency and Server Performance
Concurrency and Client Architectures
- Week 11 - HTTP and CGI (27, 29 March)
- Readings
-
Hypertext Transfer Protocol - HTTP/1.0
The Common Gateway Interface (CGI)
- Class notes
-
The Hypertext Transfer Protocol
Fun with HTTP
The Common Gateway Interface
Fun with CGI
- Week 12 - The Network File System (3, 5 April)
- Readings
-
Chapter 24
- Class notes
-
Distributed File Systems
- Assignment
-
RFS project 3 available on Thursday, 5 April
RFS project 3 due on Thursday, 3 May at 2:00 p.m.
- Test 2
- Thursday, 5 April
-
The answers
The grades
- Week 13 - Tunneling and Gateways (10, 12 April)
- Readings
-
Chapters 18 & 19
- Class notes
-
Tunneling
Gateways
- Assignment
-
Nim project 1 due on Thursday, 12 April at 2:00 p.m.
- Week 14 - Multi-Protocol and Multi-Service Servers (17, 19 April)
- Readings
-
Chapters 14 & 15, Tips 17 & 18
- Class notes
-
Multi-Protocol Servers
Multi-Service Servers
- Week 15 - Streaming Media (24, 26 April)
- Readings
-
Chapter 28
- Class notes
-
Streaming media
- Assignment
-
RFS project 3 due on Thursday, 3 May at 2:00 p.m.
- Test 3
- Thursday, 26 April
-
The answers
The grades
- Open Lecture on the Simple Object
Access Protocol (SOAP) during the final-exam period, 7:45 p.m. Thursday, 3 May
in Howard Hall 522. Lecture notes.
This page last modified on 3 May 2001.