CIS 652: Network Architecture and Protocols, Fall 2005 - Syllabus

Lecture: F 1-3:55 PM
Location: KUPF  209

Instructor: 
Cristian Borcea
                    Office: GITC 4303
                    Phone: 973 596-3662
                    Office Hours: Mondays 4-6 PM (or by appointment)
                   email
Goals:  Understand basic principles of computer networks
             Study recent network architectures and protocols
             Apply what you learned in class projects

Short Description: This is a graduate course that provides an in-depth study of network architectures and protocols, other than the TCP/IP protocol stack which is covered in CIS 656 . Students interested in networking are highly recommended to take both classes. The first part of the course examines the main concepts of the lower network layers (with a focus on data link layer, for both wired and wireless networks). The second part of the class covers recent network architectures and protocols such as mobile networks, sensor networks, and peer-to-peer networks. The class projects help students acquire hands-on experience with implementing and evaluating network protocols. Additionally, the material covered in this class can provide the foundation for M.S. projects and Ph.D. research topics.

Prerequisites: Good programming skills (read the information about projects, below, for more details). Undergraduate networking and operating system classes, although not required, are highly recommended.

Book: Computer Networks: A System Approach, 3rd Edition
           by Larry L. Peterson and Bruce S. Davie
           Publisher: Morgan Kaufmann; 3 edition (May, 2003)
           ISBN: 155860832X

Weekly Schedule:

Week
Topic
09/02
Introduction. Project1 handed out
Course Overview and Requirements. Protocol Layering.
09/09
Switched Communication Networks
Circuit Switching. Packet Swicthing. Virtual Circuit Switching. ATM.
09/16
Data Link Layer, Error and Flow Control
Error detection and recovery. Stop and wait protocol. Sliding window algorithms.
09/23
Shared Medium Access
Multiple access protocols. CDMA, ALOHA, CSMA, CSMA/CD.
09/30
IEEE 802.x LANs
Ethernet, Token Ring, Wireless 802.11.
10/07
More on wireless networks. Project1 Due.
Bluetooth. Cellular Networks/3G. Satellite Networks.
10/14
Midterm
10/21
Network Simulations and Measurements; Project2 handed out.
Metrics Typically Measured. Event-driven and time-driven simulations. NS-2 simulator tutorial.
10/28
Forwarding and Routing.
Datagram forwarding. Source-based routing. Link state routing. Distance-vector routing.
11/04
Coping with Mobility. Proposals for Project2 Due.
Mobile IP, Flexible Support for Internet Mobility.
11/11
Mobile Ad Hoc Networks
On-demand and geographical routing algorithms.
11/18
Sensor Networks
Routing protocols and programming abstractions for sensor networks.
12/02
Overlay and Peer-to-Peer Networks
Structured vs. unstructured overlay networks. Distributed hash tables. Case studies (e.g., Gnutella, Chord).
12/09
Project2 Presentations

Lecture Notes: The slides will be posted on the class's webpage at least one day before the lecture.

Class Readings: For each lecture you will typically be required to read certain chapters (or parts of them) from the book.  For each of the last four lectures, you will be required to read two papers. All the readings will be posted on the class's webpage.

Exams:
There will be two exams: a midterm and a final exam. Both exams will be taken in class and are closed book. The final exam will be cumulative, but the main focus will be on the material covered after the midterm.

Homework: You will be assigned four sets of questions during the semester. The role of these questions is to prepare you for the midterm and final exams. They will be graded, but these grades will not count toward your final grade.

Projects: The course will have two projects. The first one (handed out during the first week of classes) will entail the implementation of an application-level network protocol. This project will be done individually, and it will be due on 10/07/2005. The second project (handed out in the week after the midterm) will involve the implementation and evaluation of a network protocol on top of an event-driven simulator, which will be provided by me. You will divide in teams of three people to carry out this project. On 12/09/2005,  each group will be required to present its project in class. By 12/16/2005, each group is expected to prepare a final report, the length of which should be between eight and ten single-spaced pages. Your work will be evaluated according to its technical correctness and quality of presentation.

NOTE: This is a graduate class in computer science. Every student registered for this class must be able to program well in one of the following programming languages: Java, C++, C. If you don't have the necessary background, you MUST take bridge courses first.

Grading:
Midterm exam  - 25%
                Final exam       - 30%
                Project 1         - 20%
                Project 2         - 25%

Policy of Missed Exams: You must have a pressing reason to miss a scheduled midterm or final exam. Make-up exams may be taken only if you notify the instructor at least one week prior to the original exam date. If you miss an exam due to an unforeseen emergency, you may take a make-up exam only after providing written documentation of an excuse that is acceptable to the instructor.

Honor Code: The NJIT Honor Code will be upheld, and any violations will be brought to the immediate attention of the Dean of Students.

Modifications to Syllabus: The students will be consulted and must agree to any modifications or deviations from the syllabus throughout the course of the semester.