Network Programming CSCI-4220

Spring 1999

Course:

CSCI–4220

Lectures: Tuesday, Thursday 12:00-1:50 AE216

Home Page: http://www.cs.rpi.edu/~hollingd/netprog

Email: netprog@cs.rpi.edu

Instructor:

Dave Hollinger

Office: Amos Eaton 219

Phone: 276-6722

Email: hollingd@cs.rpi.edu

Office Hours: Tue, Thurs 10-12

T. A.:

Selim Gurun

Office: Lally 316

Phone: 276-6476

Email: guruns@cs.rpi.edu

Office Hours: MOn, Wed 10-11:30 AM

Texts:

Unix Network Programming: Networking APIs: Sockets and XTI, 2nd Ed. W. Richard Stevens

The WWW.

Grading:

Tests (1): 25%

Homework/Programming Projects : 75%

 

 

Course Home Page: The course home page will include all programming assignments and class handouts. Some class notes and material related to specific topics will also be made available through the home page. Hardcopy of any class handouts will be provided only on request.

Homework and Programming Projects: All homework and programming projects must be done individually. See the course home page for information on what is expected for project submission and directions for electronic submission.

Homework/projects count for 75% of the course grade! There are eight projects, for each project you are required to submit a one page write-up describing the design of the program. Each write-up is worth 5 points toward your homework grade. You can earn additional points (varying from project to project) with your actual implementation. The idea is that you don’t need to do all the projects, but you must think about them all enough to provide a 1 page description of what is needed for an implementation. You can earn no more than 100 points total for your projects (including the writeups), you can earn these points by doing a fair job on lots of projects, or by doing a great job on fewer. Please contact the instructor now if you don’t understand this grading scheme!

Cheating will not be tolerated. Any duplicate or near duplicate project submissions will result in a grade of zero for the project for all students involved. You may discuss projects with other students, but sharing of code in any form is not acceptable (this means that looking at another student's code or showing your code to another student is not permitted). If you need help with a project - send mail to netprog@cs.rpi.edu! Please contact the instructor if there is any part of this policy you do not understand.

NetProg-99 Topic List & Readings

Week of

Topic

Reading

Jan

11

Intro. To Networking,

O.S.I. Reference Model

Chapter 1

 

18

Datalink and Transport Layers,

Ethernet, TCP/IP

Chapter 2

25

Sockets Programming

TCP Programming

TELNET, HTTP, Authd

Chapter 3

Chapters 4,5

RFCs

Feb

1

UDP sockets

I/O Multiplexing

DNS and address conversion

TFTP

Chapter 8

Chapter 6

Chapter 9

RFCs

8

Web Programming (CGI)

Handouts

 

15*

Router and Bridge Software

Threads

Client/Server Programming

Notes

Chapter 23

Chapter 27

 

22

Advanced Sockets Programming

IPV6

Chapters 7,11,21,22

Chapter 10

Mar

1

Daemons, inetd

SMTP, FTP protocols

TEST #1

Chapter 12

RFCs

 

8

Spring Break

MTV, HBO, BEER

 

15

Internet Application Protocols

Security

LDAP

Handouts

Handouts

RFCs

 

22

XDR

RPC Programming

Handouts

 

29

CORBA

Handouts, Links

Apr

5

CORBA

Handouts, Links

 

12

Security/Hacking Issues

Handouts, Links

 

26*

Misc topics

 

*indicates short week (1 meeting)

 

Important Dates

Project

Due Date

Topic

P1

1/21

Layered Software System

P2

2/4

HTTP Proxy

P3

2/11

TFTP Server

P4

3/2

CGI Program

P5

3/16

Chat Client/Server System

P6

3/30

LDAP

P7

4/13

RPC

P8

4/27

CORBA

     

TEST

3/4