|Back to CS Home Page|
Computer Science Course Information
|Course No.||CIS 652||Sections||001|
|Title||Network Architecture & Protocols|
|Prerequisite(s)||Good programming skills (read the information about projects, below, for more details). Undergraduate networking and operating system classes, although not required, are highly recommended.
|Instructor|| Cristian Borcea
|Instructor Office Hours|
|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.
Course Overview and Requirements. Protocol Layering. Circuit Switching vs. Packet Switching
09/09 - Virtual Circuit Switching
Frame Relay and 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
Bluetooth. Cellular Networks/3G. Satellite Networks.
10/14 - Midterm
10/21 - Network Simulations and Measurements; Discussion of Project Ideas.
Metrics Typically Measured. Event-driven and time-driven simulations. Simulation components. Data collection.
10/28 - Forwarding and Routing
Datagram forwarding. Source-based routing. Link state routing. Distance-vector routing.
11/04 - Coping with Mobility
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 - Project Presentations
|Text Book(s)||Computer Networks: A System Approach, 3rd Edition by Larry L. Peterson and Bruce S. Davie, Publisher: Morgan Kaufmann; 3 edition (May, 2003)ISBN: 155860832X|
|Time & Place||Fridays 1:00 PM - 3:55 PM Kupf 209|
|Other Info||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. The projects will be done in Java. If you know C or C++, it will be relatively easy to pick up the necessary Java knowledge before the class starts (or during the first 2-3 weeks of the semester). If you don't have the necessary background, you MUST take bridge courses first.
Grading: Midterm exam - 25%
Final exam - 30%
Project 1 - 15%
Project 2 - 30%
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.
Academic Honor Code
The NJIT academic honor code
(http://www.njit.edu/academics/honorcode.php)applies in full to this
class. Note in particular that copying programs, in full or in part, is
forbidden. You may discuss ideas and concepts with your fellow
students, but you may NOT copy any code.