B438/B538 Networks and Distributed Systems(3 cr. sections 1339 &1351) -- Spring 2003

04:00-5:15 PM MW  in LH 102


General Information

Dennis Gannon , email: gannon.cs.indiana.edu
co-instructor: Madhusudhan Govindaraju, mgovinda@cs.indiana.edu
Associate Instructor
Jue Qian          email: jqian@cs.indiana.edu
Ying  Liu          email: yingliu@cs.indiana.edu
Ashraf  Khalil   email: akhalil@cs.indiana.edu

Office Hours

Instructor: Tues 3:00-4:00

Associate Instructors:

Course Description

This course is about Networks. Two thirds of the course will be devoted to basic Network technology including the TCP/IP protocol stack, the associated protocols used in internet routing and security protocols. The remaining third will cover assorted advanced topics. We will follow the excellent text by Peterson and Davie for the networking component of the course. Assignments will include problems from the end of the chapters as will as several programming projects. For the last part of the course we will work with other software systems and the readings will be from an assortment of papers.

Topics include:

Course Materials

Larry Peterson and Bruce Davie Computer Networks: A Systems Approach Morgan Kaufmann, Second Edition
For an interesting look at the history of the internet, go here . To see the current state of Abilene look at the NOC  pages . The interactive map is also very interesting. Also see the campus resnet pages. the "advanced networks" section has some good stuff in it about switches and dhcp you should read.

Additional Materials

I will be posting addition materials in this section.


   Week 1-2     Course Introduction and Basics
   Week 3-4     Direct Link Networks & Packet Switching
   Week 5-6     Reliable Streams and TCP 
   Week 7-8     Internetworking and Routing Architecture
   Week 9       IP Basics
   Week 10-11   Router Design and more on IP, DHCP, VPN, Nats & Firewalls
   Week 12-13   Wide-area Internet Routing
   Week 14      Data Compression and Security Basics
   Week 15      Authorization and Authentication
   Week 16      Additional APIs for java.


This course will have both programming projects and homework assignments from the text.

Homework Assignments:

Assignment 1. 
Assignment 2. 

For B538 there will be four programming projects.  Please use the following link to get to vincent in order to submit your assignments.


This link above for all student, graduate and undergraduate. If you are undergraduate student please choose "assign1-B438" as the
assignment to submit.  If you are graduate student please choose "assign1-B538" as the assignment to submit.

Please send only One .tar.gz file for every assignment. For example, if you have file1.java and file2.java, the unix commands below will result in
a file named assignment1.tar.gz

tar cvf assignment1.tar file1 file2
gzip assignment1.tar

The programming projects are:

1.   Simple Client-Server.   Complete specifications are here.

2.   A TCP-like file transfer program.

The project description for the first part can be found right here.
The project description for the second part can be found right here.

3.   A simple push-pull news client and server.

4.   (New Material!) A revision of the news client to support  basic security.  The preliminary tar file with the security demos can be found here.
      This will be replaced by other, more tools will follow in the next few weeks. The basic description of the project requirements are here.

B438 students will do 3 projects: project 1 and their choice of 2 out of the remaining 3.

Project 1 will be done by each student individually.  Students can work on projects 2, 3 and 4 individually or in teams of two people.  Projects done be two person teams will be expected to be twice as good as projects done by an individual.  For example, they will have better documentation and user interface.  Each project will be graded by one of the teaching assistants and will involve a demo and code review.  

In addition there will be homework assignments from problems at the end of the book chapters.


The lecture notes are based on Larry Peterson's lectures from Princeton and Arizona and material that I have added here and there. The modified notes presented in class will be presented here. Do not expect them to be there sooner than two weeks after the lecture.


The course newsgroup,  ac.csci.b538 , will be used to post announcements about assignments, exams, and any exceptions to our usual office hours. You are also encouraged to use it to post questions related to the course or share related information with the class. Make a habit of looking for new notes a few times each week.

 On individual matters, please feel free to contact your instructor or associate instructor via email. 



Incomplete grade

An incomplete (I) final grade will be given only by prior arrangement in exceptional circumstances conforming to university and departmental policy in which the bulk of course work has been completed in passing fashion.


With the exception of  projects 2, 3 and 4, all work must be an individual effort.  This includes homework assignments.  Failure to follow this rule will results in a failure for the course.