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.
News
- 12/19 The grades are posted.
You can check them in the Highlander
Pipeline. Send me an email if you want to know your score(s). HAPPY
HOLIDAYS!!
- 12/11 The final exam
is on Tuesday, 12/18, at 6PM (in the regular classroom).
- 12/05 Last homework is posted and is due on
on Monday 12/10.
- 12/05 The TA posted
the test cases and grading scheme for
the third phase of the programming assignment.
- 12/02 Extension: I decided
to give a 5-day extension for the third phase of the programming
project. The new deadline is on 12/09, 11:59PM.
- 11/28 Homework 9 is posted and is due
on Monday 12/03.
- 11/28 The lecture slides for
next week are posted. Don't forget: (1) Send me questions for homework
by 6pm today, (2) Form groups and choose topic for the research
project by Tuesday, (3) Submit the third phase of the programming
project by Tuesday.
- 11/21 The research project is posted.
- 11/19 The lecture slides for
next week are posted. All of you should attend the class next
week because I'll also present the topics for the research project.
- 11/15 The TA posted the
solutions for phase
2 of the programming project.
- 11/14 Homework 8 is posted and is due on Monday
11/19.
- 11/12 Phase 3 of the programming project
is posted. This phase is due on 12/04.
- 11/06 I decided to give a one
week extension for the second phase of the project. I sent an email about
it to your NJIT email addresses, but just in case, follow this link to
read it: Extension - Message.
- 11/04 The TA emailed you the
scores for the first phase of the project (on your NJIT email
addresses).
- 11/01 The TA posted some
advices
regarding the second phase of the project.
- 10/31 Homework 7 is posted and is due on Monday
(11/05) at 6PM.
- 10/31 The lecture slides for
next week are posted. Don't forget to send me questions for the homework
by 6PM today.
- 10/30 The TA posted the
test
cases and the grading scheme for the second phase of the project (due
next Tuesday).
- 10/23 The lecture slides for
next week are posted. The TA will come to class next week to answer
questions about the second phase of the project and discuss the test
cases (this phase is due on 11/06; you should really start working on it
this week).
- 10/22 Homework 6 solutions are posted.
Don't forget to bring a photo ID for the midterm tomorrow and ...
study! :-)
- 10/17 Homework 6 is posted and is due on Monday
(10/22) at 6PM.
- 10/15 Reminder: The midterm is
on Tuesday, next week (10/23). More details about the midterm will
be provided in class tomorrow.
- 10/11 Homework 5 is posted and is due on
Monday (10/15) at 6PM.
- 10/10 The slides for
next week's lecture are posted.
- 10/09 The TA posted
the solutions for
the first phase
of the programming project.
- 10/08 The lecture slides for
tomorrow are posted.
- 10/07 Don't forget: The first
phase of the project is due on Tuesday (10/09) at 4pm. The project
together with instructions on how to run it has to be emailed to the TA.
The second phase of the project
is posted, and I'll go over it on Tuesday.
- 10/03 Homework 4 is posted and is due on Monday
(10/08) at 6PM.
- 10/03 The test cases
for the first phase of the programming project are posted in the
TA's web page. You should make sure that your program runs on AFS
and produces the expected results for these test cases.
Don't forget: this phase is due on Tuesday (10/09)
at 4PM.
- 09/26
Homework 3 is posted and is due on Monday (10/01) at 6PM.
- 09/26 The lecture slides for
next week are posted.
- 09/24 I emailed you the graded
HW2.
- 09/24 The lecture slides for
tomorrow are posted. DON'T FORGET: HW2 is due today at 6pm.
- 09/20 I emailed you the graded
HW1 today.
- 09/19 Homework 2 is posted and is due on Monday
(09/24) at 6PM.
- 09/15 The first phase of the project is
posted. On Tuesday, I'll go over the client-server model, the socket API,
and the details of this phase (no slides for this lecture). The TA will also
come to class and present some programming examples as well as instructions
on how to work on AFS.
- 09/12 Homework 1 is posted and is due on Monday (09/17)
at 6PM.
- 09/12 Don't forget: each of you
must send me one question by 6PM today. Then, I'll select/edit a few questions
and post the homework which is due on Monday. As mentioned during the first
lecture, you will receive credit for sending the questions.
- 09/05 The lecture slides for next
week are posted below (under the weekly schedule)
- 09/05 I emailed you the results
of the prerequisites test. If you didn't take the test, send me an email. In
general, people that were average or under should consider using Java. The TA
posted a few links in his web page.
- 09/04 Neeraj Rajgure will be our
TA/grader. His main job is to provide help with the programming project. He
will post more information in his
web page.
Goals
- Understand basic principles of computer networks
- In-depth study of the Internet architecture and protocols
- Apply what you learned in a programming project
- Learn about recent networking developments in a research project
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
- Midterm - 25%
- Final exam - 25%
- Programming project - 25%
- Homework - 15%
- Research project - 10%
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.