|
Rutgers CS 352 Section 01 (Fall
2005)
Credits: Class organization and
lecture notes are heavily derived from
Prof. Richard P. Martin
|
| Announcement |
Overview |
Important
Dates |
Lecture
Notes |
Homework |
Projects |
Old
Exams |
Instructor:
Xiaoyan Li xili@cs.rutgers.edu
Office Hours: Tuesday 2:00- 4:00 pm @ Hill 367
TA:
Lu Han luhan@cs.rutgers.edu |
Announcement
In class announcements
- (12/9/2005) Review slides posted.
- (12/7/2005) Review prior exams for similar questions on the
exam topics. Other than the exams posted on this page,
more exams can be found here.
- (12/7/2005) No class on Tuesday (Dec 13,
2005).
- (12/7/2005) Final exam will be held on Dec 13, 2005
during 6:40
- 9:40 PM in classroom SEC-117. Makeup exam will be held on Dec 16, 2005 during
4:00 - 7:00 PM in Core 304. Students are allowed to have a 8.5x11in, double-sided sheet of notes for the
final (a cheat sheet), but no electronic devices will be
allowed.
Final exam topics:
* TCP - Flow control, Sliding windows
* TCP - Congestion control, slow start, linear increase, fast retransmit
* Sliding windows at the Data Link layer, flow control, Go-Back N, Selective Repeat
* Be able to calculate performance under sliding windows, given link speed, frame size, propagation delay, etc
* Fair queueing - packet arrival and departure times, virtual time
* Ethernet standards - cable length and repeaters - know the limitations and WHY
* Encryption - transposition, cyphertext
* IP - be able to calculate network numbers and figure out if an address is on a given network. When and how do packets get routed to a different network?
* Know ICMP and how Traceroute uses it
* Be able to calculate subnet masks using both the class based structure and classless inter-domain routing (CIDR) (not much difference between them)
* You should be able to convert between binary/hex/decimal without using a calculator. (after all, some of you are getting your degree after this semester)
* Know the benefits of having a layered protocol architecture and why things are implemented in different layers
* Review the HTTP protocol and how it relates to HTML
* There are 13 questions on the exam
- (11/29/2005) Grades for both project 2 and
midterm 2 have been posted online at gradebook.
Here below are the statistics. Exam papers for midterm 2 will be
handed out during Friday's lecture (12/2/2005) and any questions
about the exam grades has to reach your TA within the following week.
- Project 2 (11 students): Min -
50, Max
- 100, Avg - 72.73, Median - 60
- Midterm 2 (17 students): Min - 25, Max -
114, Avg
- 76.76, Median - 81
- (11/15/2005) No class on Friday (11/18/2005),
instead, code review session for project 2 will be held during 1:30 -
3:00 pm in Hill-248 on Friday (11/18/2005). Each group will have 15 - 20 minutes on average.
Please refer to the following group number to make sure to be present
during your review slot. All group have to be present for the code
review otherwise the group will only receive 50% of the project grade.
Group Number
- Chih-Cheng Chang, Richard Gelicame, Jason
Yu
- William Fong
- James Kim,Won-Kwang Kim, Soung Huh
- Aisha Hussain, Felton Vaughn, Nital Patel
- Manmeet Kaur
- (11/14/2005) Midterm 2 will be held during
class slot on Nov 15th, 2005.
- (11/11/2005) Midterm 2 topics:
* Error detection/correction, 1-d, 2-d parity, CRC codes
* Queueing/Traffic shaping - Leaky Bucket/Token Bucket
* MAC Layer protocols - Token Ring, x-persistent CSMA, CSMA/CD, bitmap protocol, binary countdown
* Ethernet
* There are 8 questions (110 points)
- (11/7/2005) Project 3 posted.
- (11/7/2005) I will be out for a conference, no
class on Tuesday Nov 8, 2005.
- (10/24/2005) Sample Questions 2 posted under Homework
section.
- (10/21/2005) All the in class announcements
have been and will continue to be posted through the above link.
- (10/20/2005) If members of a project group
come from different sections. You SHOULD submit ONLY to one of the
sections and NOTE this fact down in all your submitted
files.
- (10/20/2005) Grades for both project 1 and
midterm 1 have been posted online at gradebook.
Here below are the statistics. Exam papers for midterm 1 will be
handed out during Friday's lecture (10/21/2005) and any questions
about the exam grades has to reach your TA within the following week.
- Project 1: Min - 60, Max
- 100, Avg - 90.64, Median - 99.5
- Midterm 1: Min - 24, Max - 116, Avg
- 70.18, Median - 72.5
- (10/20/2005) Scheduled date for final exam has
been posted. Whoever has issue with the schedule should contact me
ASAP.
- (10/16/2005) Code review session for project 1
will be held during 12:00 - 1:30 pm in Hill-248 on Tuesday
(10/18/2005). Each group will have 15 - 20 minutes on average
and Lu Han and I will be each responsible for one group at a time.
Please refer to the following group number to make sure to be present
during your review slot.
Group Number
1 Aisha Hussain, Felton Vaughn, Nital Patel
2 Chih-Cheng Chang, Richard Gelicame
3 James Kim, Won-Kwang Kim, Soung Huh
4 Priyank Chaudhary, Harmohit Lyall
5 Umar Hussain
6 Jason Yu
7 Manmeet Kaur
8 Phillip John Whitehead II
9 Li-Chun Chen
10 William Fong
- (10/14/2005) Code review session on project 1
will be held during 12:00 - 1:30 pm in Hill-248 on next Tuesday
(10/18/2005). During review time for a particular group, its group
members are required to be present to answer questions. Schedule of
the review sequence will be posted later.
- (10/6/2005) Tentative scheduled dates for
project 3, midterm 2 and final exams posted. I'll discuss about the
final exam dates during class on Friday (10/7/2005).
- (10/6/2005) Modification on slides
"fundamentals" about pipelining, specifically these few old
pages (PPT PDF)
are changed to new ones (PPT PDF).
The essential change is: the count of packets should subtract the
single one packet that has been used to calculate the
"propagation delay" (the time to go through the route; but I
did make some modification on the explanation to make it clearer. I
would explain about this during class on Friday (10/7/2005).
- (10/4/2005) Project 2 posted.
- (9/30/2005) Midterm 1 will be held during
class on Oct 11th. Students who need to take makeup exams during
another time have to contact me at least a week before the exam.
- (9/27/2005) Slight modification on TCP/UDP
slides, mainly about threshold setting. Suggest to read RFC
2581 for details.
- (9/26/2005) Sample Questions 1 posted under Homework
section
- (9/20/2005) Further clarification on project
1 posted.
- (9/15/2005) Up to 3 students are allowed to
work in a group for the project.
- (9/14/2005) Students must go to http://ilab.cs.rutgers.edu/newaccount.html
to create/activate their cereal accounts. Those who have problems
should email help@ilab.cs.rutgers.edu
for help.
- (9/14/2005) Project 1 posted. Scheduled date
for midterm 1 is also posted.
- (9/7/2005) Office hours and TA information posted.
- (9/2/2005) The department academic integrity policy can be found at http://www.cs.rutgers.edu/policies/academicintegrity/.
You now need to click explicitly on a link when
first login to our computing facilities, use handin, etc., that says
you acknowledge being aware of the policy (which you can read through
the login screen). If you fail to do the click-through by the end of
September, your access to our facilities will cease October 1.
|
Overview
This course will provide students with a thorough understanding of the basic principles of computer networks, the design philosophy of the Internet, and the details of Internet protocols, and the engineering and scientific principles needed to understand computer networks. Students who complete this course will be able to describe in detail the operations of Internet protocols and develop their own Internet applications. Students will also develop an understanding of the design and construction of network programs via a semester long class project. At the end of the course, you should be capable of network programming.
The prerequisite for CS 352 is Computer Architecture (CS 211), because of number representation, as well as Introduction to Discrete Structures II (CS 206), because students are expected to know basic probability. Students are expect to know how to program in Java and use simple data structures such as hash tables and arrays. Students are also expected to understand the department's facilities and how to use the
cereal cluster, handin, and the FAS gradebook.
James F. Kurose and Keith W. Ross, Computer Networking, 3rd edition.
Students are expected to attend all lectures and perform all reading assignments prior to lecture. Students are also expected to attend all recitation section meetings. Students will be evaluated according to their performance on a semester long programming project, 2 mid-term examinations, and the final examination.
WARING: This is a project course, which means that this course should give you more than a passing knowledge of what writing working network programs entails. The project will be a major undertaking. If you complete the projects, you will have learned a lot. However, assess your commitment to this course realistically. If you don't have the time or the inclination to work hard on the project, you would be better off not taking the course. Fortunately, the project will be programmed in Java, so you will not have to learn a new programming language. You will have to learn how to build and debug a reasonably size Java program and make it robust to outside errors. You will also have to describe how your program work in both a written document as well as an oral exam.
This one large project will be assigned, as three sub-projects. Up to 3 students can work as a group for each sub-project and you can change
group members for each project .
Students are required to complete the parts by the scheduled deadlines. Failure to turn in the project by the deadline using the "handin" program will result in a zero for all team members. No exceptions!
- Working Together and Academic Honesty
Cheating on projects and exams will not be tolerated. We want to protect the fairness and integrity of the class, so we run code similarity detectors on the projects and scrutinize exams for copying. Both parties in the exchange are liable; e.g. if you give away solutions to friends, you're putting yourself at risk too. If you get caught, it's a nasty process--- just don't go there! You're better off dropping the course and trying it again.
The department academic integrity policy can be found at http://www.cs.rutgers.edu/policies/academicintegrity/.
You now need to click explicitly on a link when first
login to our computing facilities, use handin, etc., that says you acknowledge being aware of the policy (which
you can read through the login screen). If you fail to do the click-through by the
end of September, your access to our facilities will cease October 1.
- The Gilligan's Island Rule
That said, we do encourage you to talk to your classmates, provided you follow the Gilligan's Island Rule. After a joint discussion of an assignment or problem, each student should discard all written material and then go do something mind-numbing for half an hour. For example, go watch an episode of Gilligan's Island (or Reality TV in modern terms) , and then recreate the solutions. The idea of this policy is to ensure that you fully understand the solutions or ideas that the group came up with.
If you follow the Gilligan's island rule, often best route to follow to get a question answered is to ask, in order:
- A classmate smarter than you.
- Your TA.
- The professor.
Two mid-term examinations are scheduled this semester, and both are held during regular lecture hours. A cumulative final examination will be held at the end of the semester.
Written homeworks are for your practice only, we won’t grade them. It will be up to you to do them and ask the TAs and instructors about problems that you don't understand. We highly suggest doing the
homeworks before getting/looking at the solutions. This will be critical for the exams. We will also post previous year’s mid-terms and finals so you can get an idea about the kinds of questions that we might ask.
2 Midterms: 30 % (15 % each)
Final: 35 %
Project: 35% (Part 1: 10%, Part 2: 10% and Part 3: 15%)
The programming part of the projects are typically graded on how close they are to the functional requirements. The written portion is graded on how well the TAs can figure out how your project is constructed only from the written description. Exams are typically graded on a curve. As a rule of thumb, the mean is a "C'" and each standard deviation is one letter grade. This rule can be altered, however, if the class does exceptionally well or
poorly.
|
Important
Dates
| Event |
Date |
Note |
| Project 1 |
Oct 2,
2005 5:00 PM |
No late submission ! |
| Mid-term 1 |
Oct 11, 2005 |
No electronic devices or notes allowed. No cheat sheets allowed |
| Project 2 |
Nov 6,
2005 5:00 PM |
No late submission ! |
| Mid-term 2 |
Nov 15, 2005 |
No electronic devices or notes allowed. No cheat sheets allowed |
| Project 3 |
Dec 4,
2005 5:00 PM |
No late submission ! |
| Final |
Dec 13, 2005 6:40
- 9:40 PM
Dec 16, 2005 4:00 - 7:00 PM (make up) |
You must send the instructor email at least
2 weeks before the final if you need to take the makeup! |
|
|
Lecture
Notes
| Date |
Theme |
Topics |
Readings from Kurose |
Notes |
| 9/2/2005, 9/6/2005 |
Fundamentals |
Networks (Core vs. Edge), Switching schemes, Delay
Analysis, Pipelining, Layering, Encapsulation |
1.1-1.9 |
PPT PDF |
| 9/9/2005 |
Application Layer Protocols |
Basic Messaging, HTTP, FTP, SMTP, DNS |
2.1-2.5 |
PPT PDF |
| 9/13/2005 |
Network Programming |
Sockets, Threads |
2.7-2.9 |
PPT
PDF |
| 9/16/2005 |
Reliable Data Transfer Algorithms |
ABP, Go-Back-N, Selective-Repeat |
3.1-3.4 |
PPT
PDF |
| 9/20/2005, 9/23/2005 |
Transport Protocols |
UDP, TCP (flow control, congestion control) |
3.5-3.7 |
PPT PDF |
| 9/27/2005 |
IP Address |
IP addresses, Routers, ICMP |
4.1-4.4 |
PPT PDF |
| 9/30/2005 |
Routing |
Routing algorithms, routing protocols |
4.5-4.6 |
PPT PDF |
| 10/4/2005, 10/7/2005,
10/14/2005 |
Link Layer |
Error detection & correction, MAC sub-layer,
Ethernet LANs, token-ring |
5.1-5.6 |
PPT PDF
PPT PDF |
| 10/21/2005, 10/25/2005 |
Security |
Cryptography, Authentication, Digital
Signature, Firewall |
8.1-8.8 |
PPT
PDF |
| 10/28/2005 |
Wireless Networks |
802.11 MAC |
6.1, 6.3 |
PPT
PDF |
| 11/1/2005 |
Queue management |
Leaky Bucket, Token Bucket, Fair Queuing |
7.7 |
PPT
PDF |
| 11/4/2005 |
Queuing Theory |
Definition, Kendall Notation, M/M/1
analysis |
|
PPT
PDF |
| 11/29/2005,
12/2/2005 |
P2P networks |
|
|
PPT
PDF |
| 12/6/2005, 12/9/2005 |
review |
|
|
PPT
PDF |
|
|
|
|
|
|
|
Homework
Sample Questions 1
Sample Questions 2
|
Projects
Project 1
Project 2
Project 3
|
Old
Exams
|
|
|
|