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.