Data Communications and Networks


Fall 2002

Thursday 7:00 PM 9:00 PM WWH 109

Revision 10 (11-21-2002)

Instructor Information


Joseph P. Conron


WWH 401



Thursdays 6:00 - 6:50 by appointment please

TA Information

Our Teaching Assistants are Joseph Turian and Ying Hu. If you need to speak with a TA, please use the links below to send email.


Joseph Turian


Ying Hu


Course Description

This course is a one semester introductory course that introduces the student to a broad range of topics fundamental to computer communications. We will begin by studying the exchange of data between two directly connected devices. In particular, we will examine aspects of data transmission, interfacing, and link control.

Our study of networking examines the traditional technologies of packet switching and circuit switching, as well as the more recent ATM. We will examine in some detail the problem of network congestion control, and discuss the routing problem and several clever routing algorithms in use today

A significant element of the course is protocol architecture and design. We will study both the OSI protocol model and the Internet Protocols (IP and TCP). The student will become very familiar with the concept of protocol layers and packet formats. We will look closely at how TCP handles the problems of flow control and congestion control.

This is not a course in programming, but I will introduce you to socket programming (in C). Socket programming is the most widely used abstraction for building applications that exchange data with other applications.


Topics we will cover are:

      Data Encoding and Transmission

      Data Link Control

      Circuit and Packet Switching

      OSI and Internet Protocol Architecture

      Congestion Control and Flow Control Methods

      ATM and Frame Relay

      Internet Protocols (IP, ARP, ICMP, UDP, TCP), including IPV6

      Network (packet) Routing Algorithms (OSPF, Distance Vector)

      Sockets (just a little)



You must have completed Programming Languages AND Fundamental Algorithms (or have a working knowledge of graph theory algorithms such as Dijkstra and Belman-Ford and be proficient in either C or Java)

Required Text

We will be using the following book as our primary reference in class

Data & Computer Communications, Sixth Edition,

William Stallings, Prentice Hall, 2000, ISBN: 0130843709



NOTE: Changes and corrections to the text book are here: Errata

Recommended Texts

Other communications networking texts that you may find useful in your work or future studies:

Computer Networking: A Top-Down Approach Featuring the Internet,

James Kurose and Keith Ross, Addison Wesley, 2001, ISBN: 0201477114


Computer Networks And Internets with Internet Applications, 3rd Edition,

Douglas Comer, Prentice Hall, ISBN 0130914495


Internetworking with TCP/IP: Volume III: Client-Server Programming and Applications, BSD socket version,

Second Edition, Comer, D.E. and Stevens, D.L. Prentice Hall, ISBN 0-13-260969-X

Syllabus (the course Syllabus, including weekly readings)

Lectures (links to lectures)

FSM (the source code, class files, and JAVADOCS for the Finite State Machine package)


Assignments and Student Evaluation

The course grade will be based on 5 homework assignments (50%), a midterm examination (20%) and a final project (30%).



Due Date



Sep 26



Oct 10

Midterm Exam


Oct 24



Nov 10



Nov 21



Dec 5

Final Project


Dec 19

Grades will be given according to the following schedule:

A 93 - 100

A- 90 - 92.9

B+ 87 - 89.9

B 83 - 86.9

B- 80 - 82.9

C+ 75 - 79.9

C 70 - 74.9

C- 60 - 69.9


Grading Group Assignments

I am defining two (2) grading groups, Group A and Group B. You are assigned to one or the other group for the entire semester based upon your student ID as follows:

      If your student ID is 000-00-0001 through 150-00-0000, then you are in Group A.

      If your student ID is 150-00-0001 through 999-99-9999, then you are in Group B.

We will assign Graders for the projects as follows:


Group A

Group B


Joseph Turian

Ying Hu


Ying Hu

Joseph Turian


Joseph Turian

Ying Hu


Ying Hu

Joseph Turian


Joseph Turian

Ying Hu

Final Project



When a given assignment is due, you must email it required items to the grader for your group. I will be grading the final project so EVERYONE will send that to me for grading.

NOTE: ALL homework is due BEFORE midnight on the given due date. This includes the final project.


Rules for Working on Assignments

1.     All assignments must be done individually (see Cheating below).

2.     Unless stated otherwise in the assignment, all writing and coding must be original.

3.     All assignments must be emailed to the appropriate grader. To avoid problems with "lost emails" ("the Internet ate my homework") you should save a copy of your EMAIL (not simply the assignment itself).

Late Assignments

Assignments handed in up to one week late will receive a 10% penalty. Since we will go over the answers to assignment in class, NO credit will be given for ANY assignment submitted later than one week from the due date. Late assignment MUST be submitted before the start of the next class following the due date.

Cheating Policy

You should NOT:

  1. Copy any part of another student's homework answers.
  2. Allow another student to copy your homework.
  3. Copy any part of code found in a book, magazine, the Internet, or other resource.
  4. Present the work of another as your own. If you use the idea of another in your work, you MUST provide appropriate attribution (that is, cite the work and the author).

The penalty for first cheating offense will be a grade of ZERO on the assignment. The penalty for a second cheating offense will be a grade of F for the course.

Class Email List

All students should register themselves with the class list, which is used for all technical discussions concerning the course. To register, go to the following web page, and follow the instructions:

Please send your questions to this list (NOT TO ME) so that everyone may participate in the discussion.