CS 456: Open Systems Networking, Fall 2007

Tuesdays 6-9:05 PM, TIER 112

Instructor

  Cristian Borcea
  Office: GITC 4303
  Phone: 973 596-3662
  Office Hours: Mondays 5:30 - 6:30pm; Tuesdays 4pm - 5:30pm.
email

News

Goals

Short Description

This course provides an introduction to computer networks, with a special focus on the Internet architecture and protocols. The topics include architecture of interconnected networks, addressing, naming, routing, transport protocols, and several application layer protocols. Besides the theoretical foundations, students will acquire programming experience by implementing an application-layer protocol. Finally, students will learn about several recent networking developments through a research-oriented project that will end up with presentations in class.

Prerequisites

CS 114. Students are expected to be capable of programming in either Java (used for code examples in this class) or C/C++ (acceptable, but only minimally supported through examples in this class). A test of prerequisites will be administered in the first week of classes. All students are required to take it; students that will not do well will be advised to quickly review the material covered in the prerequisites. Failure to do so may result in a difficult time with the programming project and understanding of some material.

Book

Internetworking with TCP/IP, Vol 1 (5th Edition)
by Douglas E. Comer
Publisher: Prentice Hall
ISBN: 0131876716

Schedule

Date Topic Readings
09/04 Course overview and requirements. Introduction to computer networks. Test of prerequisites. Slides. Chapters 1 & 3
09/11 Protocol layering and the Internet architecture. IP addressing. Naming, DNS. Slides. Chapters 4, 10 & 23
09/18 The client-server model. The socket API. Phase 1 of the programming project handed out. Chapters 20 & 21
09/25 HTTP. Web Servers. Email protocols. Slides. Chapter 26 & 27
10/02 Mapping IP addresses to physical addresses. ARP. DHCP. Slides. Chapters 5 & 22
10/09 IP. Phase 1 of the programming project due. Phase 2 handed out. Slides. Chapters 6 & 7
10/16 ICMP. Subnets & Supernets. Slides. Midterm review. Chapters 8 & 9
10/23 Midterm. Discussion of midterm solutions.
10/30 Link state routing. Distance vector routing. Slides. Q&A for phase 2 of the programming project. Chapter 13
11/06 RIP. OSPF. Slides. Q&A for phase 2 of the programming project. Chapter 15
11/13 BGP (use the link from last week for the slides). Second phase of the project due. Third phase handed out. Chapter 14
11/27 Transport layer protocols. UDP. TCP I. Slides. Discussion of the research project topics. Chapters 11 & 12 (12.1-12.23)
12/04 TCP II. Slides. Phase 3 of the programming project due. Final exam review. Chapter 12 (12.24-12.34)
12/11 Research project presentations.

Lecture Notes and Assigned Readings

The lecture slides will be posted on the class's webpage prior to the lecture. Students are required to read the assigned book chapters before the lecture.

Exams

There will be two exams: a midterm, and a final exam. Both exams are closed book/notes. The final exam will cover only the material taught after the midterm.

Programming Project

Students will work individually toward implementing an application-layer protocol. The project will be divided in three phases, which will be graded separately. Solutions for the intermediate phases will be posted immediately after each submission; in this way, students can work on a new phase even if they didn't implement completely the previous phase. The submissions will be done electronically. Test cases will be posted one week before the due dates. Late submissions will not be accepted.

Homework

Homework will be assigned weekly to prepare students with the type of questions encountered in exams. Each student is required to submit electronically one short question after each lecture. The questions are due by Wednesday at 6PM. The homework consists of a few of these questions selected/edited by the instructor and posted by midnight. The homework is due (electronically) the next Monday at 6PM. Late submissions will not be accepted. The solutions will be discussed in class the next day.

Research Project

This project has two goals. First, it provides students with an opportunity to learn about the latest developments in the computer networks area. Second, it helps students improve their oral communication skills through an in-class project presentation. Students will form groups of two and choose research topics from those provided by the instructor. Each group is required to search the Internet for relevant information (e.g., conference, journal, or magazine articles) and present its research topic in class using power point slides.

Grading

Policy of Missed Exams

A make-up exam may be taken only after providing written documentation from the Dean of Students.

Honor Code

The NJIT Honor Code will be upheld, and any violations will be brought to the immediate attention of the Dean of Students. Note in particular that copying homework or programming assignments, in full or in part, is forbidden.

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.