Internet and Intranet Protocols and Applications

Spring 1998 
Prof. Arthur P. Goldberg

Computer Science Department
Courant Institute of Mathematical Sciences
New York University

Revision dates: 12/25/1997, 1/18/1998, 1/20, 1/21


Internet and Intranet Protocols and Applications studies the world's most widely used application level network protocols and software systems. They are primarily client/server systems, with modifications and enhancements to improve performance, such as caching and replication, and security, such as firewalls.

We study protocols, such as HTTP, NNTP and SMTP. We discuss the design of client and server software, such as Web browsers and servers. We study the design of network systems, such as corporate intranets.

In examining these systems, we consider the technical challenges faced by their designers, including issues such as system performance, and network architecture and management.

Two programming projects will enhance the learning experience: write a UDP ECHO client and the core of an HTTP/1.1 server.

Course Particulars

Professor: Arthur P. Goldberg
Course home page:
Time: Wednesday, 7-9 PM
Place: Room 109, Warren Weaver Hall
Number: G22.3033.04
Email beacon:
Credits: 3
Teaching assistants: TBD

Professor Particulars

Office: 715 Broadway, Room 711
Home page:
Office hour: Meetings by appointment


The weekly syllabus, including lecture topics, pointers to slides on-line, reading assignments and homework assignments are at

Required texts

Tanenbaum, Andrew S., Computer Networks, Prentice Hall, Third Edition, ISBN 0-13-349945-6, 1996.

Comer, D.E. and Stevens, D.L. Internetworking with TCP/IP: Volume III: Client-Server Programming and Applications, BSD socket version, Second Edition, Prentice Hall, ISBN 0-13-260969-X, 1996.

Recommended texts

David A. Curry, UNIX Systems Programming for SVR4, O'Reilly and Associates, 1st Edition, July 1996, ISBN Number: 1-56592-163-1.

Bob Quinn, Dave Shute, Windows Sockets Network Programming, Addison-Wesley Advanced Windows Series, 1995, ISBN: 0201633728.

Computer accounts and resources

All students must be able to access the Web. Any student can obtain an account on the Computer Science department Sun workstations which will provide such access.


We assign a substantial network programming project.  Therefore, students should know two things beforehand.  First, students should know how to design, develop and test substantial programs, at the level of one of the following graduate courses: C++, Java, Compilers, or Distributed algorithms.  Other courses which make similar demands would meet this prerequesite. Second, students should know the fundamentals of how networks work, as taught in a university level networking course.  This knowledge could also be obtained via some other means, such as work experience.

Course email list

I must be able to communicate with all students by email. The CS department has set up a Majordomo email list server on (Read about Majordomo in Liu, et. al., Managing Internet Services, Chaps 24 and 25, if you're interested.)

To register, send an email with the body

 SUBSCRIBE g22_3033_004_sp98
to To multicast an email to the class, email to To learn more about majordomo, send email with "help" in the body.

Assignments and Student Evaluation

A student can earn a total of 100 points in this course. Points will be allocated to assignments as indicated. All assignments should be done individually.
Assignment Points
Homework problems from texts 30
Client program, Comer 7.11 and 7.12 10
HTTP/1.1 server (Word); Additional instructions 1 (Word) 40
Take-home final examination (Word) 20
 The take-home examination will be handed out the last day of class, and due one week later.