CSCI 280
Computer Networks

Fall Semester 2007


Welcome to CSCI 280; For this course, we will centralize the distribution of information on this course web page. This page can be found on the Clark web server at http://babbage.clarku.edu/~jbreecher/networks/


* Basic Information
* Course Description
* Textbook
* Lectures
* Your Evaluation
* Weekly Events
* The Projects

Basic Information

Professor: Dr. Jerry Breecher, (jbreecher at clarku.edu)

Office BP 343, (508)793-7396
Meeting Time: Lecture: Monday, Thursday 1:25 p.m. -2:40 p.m.

Lab: Monday , 4:15 p.m. - 5:30 p.m.
Office Hours: Monday, Thursday 10:00 - 12:00

By appointment; 24 hour response by email

Course Description

CSCI 280: Computer Networks/ Lecture, Laboratory

This course provides an introduction to the theory and practice of the design of computer and communications networks. The TCP/IP Model will be used as the framework with the course progressing through the physical, data link, network and transport layers.

Analysis of network topologies and protocols, including performance analysis, is treated. Current network types including local area and wide area networks are introduced, as are evolving network technologies. Laboratory exercises include the design and implementation of projects such as simulation of the network/transport layer functions, routing, congestion control, an Ethernet controller, applications using TCP/IP or remote procedure calls. There may be extensive network programming assignments.

Textbook

Required:

"Computer Networking, 4th Edition", 2008 Jim Kurose & Keith Ross. Addison Wesley, ISBN  0-321-49770-8
"Computer Networking, 3rd Edition", 2005 Jim Kurose & Keith Ross. Addison Wesley, ISBN 0-321-22735-2.
Either edition will be fine.  I'm lecturing from the 4tth edition, but the 3rd contains much the same information and is
easy to buy used.

They have lots of information on their website at www.awl.com/kurose-ross

Recommended - Programming and Implementation:

"UNIX Network Programming, Volume 1, 2nd Edition", W. Richard Stevens. 1998. Prentice Hall, ISBN 013-490012-X

"Internetworking with TCP/IP - Volume 1, 4th Edition", Douglas Comer. 2000. Prentice Hall, ISBN 013-018380-6

"Internetworking with TCP/IP - Volume 2, 3rd Edition", Douglas Comer & David Stevens. 1999. Prentice Hall, ISBN 013-973843-6

Recommended - Theory and How It Works:

"Data and Computer Communications, 6th Edition", William Stallings. 2000. Prentice Hall, ISBN 013-084370-6

"Computer Networks, 2nd Edition", Larry Peterson & Bruce Davie. 2000. Morgan Kaufmann, ISBN 1-55860-514-2

"Data Communications and Networking, 2nd Edition", Behrouz Forouzan. 2001. McGraw-Hill, ISBN 007-232204-7

Lectures

In the Table below are pointers to the Lecture Notes and Projects for the course. The format available can be read by Microsoft Powerpoint (.ppt).  Lectures generally will be from these notes. Feel free to print them out and use them during class to avoid extensive notetaking. You can simply annotate these notes rather than writing everything. But warning, don't be lulled into a false sense of security. What's talked about in the class will be in MUCH MORE DETAIL than is present on these slides.

An added advantage of written out notes is that you know what to read in the text. In general, I follow the book fairly closely so you should have no trouble figuring out where to find material to amplify these course notes.

WEEKLY LAB TIMES: You are expected to be in lab each week. Small demonstrations will happen every week for your amusement and edification.

The Projects

You will be expected to write a number of programs that give you the opportunity to try some network programming. You'll learn how to get programs to talk with each other using TCP/IP. In addition, you'll have the opportunity to dig into the behavior of networks and how they perform. Your programs will be written in C; you don't need a lot of C experience coming into this course, but you certainly WILL have lots of practice by the time you finish.

PROJECTS: These are programming assignments that you are expected to turn in. We will have "Show and Tell" as a mechanism of showing that you know what you are doing. Note that the Labs/Projects count for HALF of the course.

Your Evaluation

Your evaluation in this course is determined by:

50% Projects

40% 4 Midterm Exams - The lowest of the 4 midterm exams will be dropped.  Note that the last of these exams occurs during the final exam period.

10%  At least 10 "surprise" quizzes.  It's always important to keep up with what's happening in class and in the labs.  One way to do that is to have a number of short quizzes at the beginning classes to ensure you are ready for class that day.

In addition, you'll be expected to complete the Learning To Love Linux sequence if you haven't already done so.

Weekly Events

Here's how the material and deliverables break down for the semester.


DATE
TOPIC
MATERIALS
Aug 27
Introduction: Learning C Learning_C.ppt      Learning_C.pdf
Aug 27 - Lab
Introduction to Project 0 - Writing and running a simple program. Proj0.ppt       Proj0.pdf
Aug 30
Chapter 1: Introduction Introduction.ppt       Introduction.pdf
Sep 3 -- Labor Day


Sep 6
Chapter 1:

DUE:  Wireshark - Getting Started


Wireshark
Sep 10
Chapter 1:
Sep 10 - Lab
Project 0 is DUE - You will DEMONSTRATE that it works
Introduction to Project 1 -
Writing a web server.
Proj1.ppt             Proj1.pdf
Sep 13
Chapter 2: Application Layer

DUE:  Wireshark - HTTP

Application.ppt       Application.pdf

Wireshark

Sep 17
Chapter 2:
Sep 17 - Lab
Project 1 Checkin.
Sep 20
Chapter 2:
Sep 24
Chapter 2:

DUE:  Wireshark - DNS


Wireshark
Sep 24 - Lab
Project 1 Checkin.
Sep 27
Chapter 3: The Transport Layer Transport.ppt       Transport.pdf
Oct 1
EXAM 1

Oct 1 - Lab
Project 1 Checkin. Proj2.ppt            Proj2.pdf
Oct 4
Chapter 3:
Oct 8 - Fall Break


Oct 11
Chapter 3:
Oct 15
Chapter 3:

DUE:  Wireshark - TCP & UDP


Wireshark - UDP

Wireshark - TCP

Oct 15 - Lab
Project 1 is Due. You will DEMONSTRATE that it works.
Introduction to Project 2 - Writing client-server applications

Oct 18
Guest Lecturer

Oct 22
Chapter 3:
Oct 22 - Lab
Project 2 Continuation
Oct 25
Chapter 3
Oct 29
EXAM 2
Oct 29 - Lab
Project 2 Continuation
Nov 1
Chapter 4:  Network Layer

DUE:  Wireshark - IP

Network Layer.ppt           Network_Layer.pdf
Wireshark
Nov 5
Chapter 4:

DUE:  Wireshark - ICMP & DHCP


Wireshark - ICMP

Wireshark - DHCP

Nov 5 - Lab
Project 2 is Due. You will DEMONSTRATE that it works.
Introduction to Project 3 - Writing a network layer
Proj3.ppt            Proj3.pdf
Nov 8
Chapter 4

Nov 12

Nov 12 - Lab Project 2 Continuation
Nov 15 Chapter 4
Nov 19
EXAM 3
Nov 19 - Lab
Project 3 Checkin on APB
Nov 22 - Thanksgiving

Proj4.ppt
Nov 26
Chapter 5:     Link Layer

DUE:  Wireshark - Ethernet and ARP

Link Layer.ppt              Link_Layer.pdf
Wireshark
Nov 26 - Lab
Project 3 Continuation Proj5.ppt
Nov 29
Chapter 5:
Dec 3
Chapter 5:

Dec 3 - Lab
Project 3 Continuation
Dec 6
Chapter 5

Dec 10
Chapter 6:  Wireless Networking Wireless.ppt             Wireless.pdf
Dec 10 - Lab
Project 3 is DUE - You will DEMONSTRATE that it works
Dec 18 - 10:30 - 12:30
Exam 4