Rutgers CS 352 Fall 2007

 


Announcements

Overview

Important Dates

Lecture Notes

Homework

Projects

Old Exams

Instructor: 

 

Section 08: Richard Martin rmartin@cs.rutgers.edu    Office Hours: Tuesdays, 5:30-6:30PM.

 
TAs:

 

Section 08:                 Tuan Phan:       tphan@cs.rutgers.edu    Office Hours: Thu 7:00-8:00pm @ Hill 367
Web Page: http://paul.rutgers.edu/~tphan/cs352/

 

Announcements                                     


  1. (12/16/2007) Scores for the final exam and project 3 are posted on the gradebook. Grades will be finalized Tuesday, 12/18 at noon. For the final, the max/median/min were: 89/59/46. For project 3 the max/median/min were: 100/53/0

  2. (12/14/2007) The due date for Project 3 has been pushed to Dec 15th, 8:00AM, to give the class some more time

  3. (12/11/2007) Grades for project 2 have been posted in the GRADEBOOK. Here are some statistics:
    PROJECT 2: Max = 100; Min= 25; AVE= 63; MEDIAN=60

  4. (12/04/2007) Example Study problems with some solutions are here

  5. (11/29/2007) Grades for project 1 and midterm 2 have been posted in the GRADEBOOK. Midterm 2 will be returned during the recitation today. Here are some statistics:
    PROJECT 1: Max = 100; Min= 30; AVE= 69; MEDIAN=70
    MIDTERM 2: Max = 77; Min = 30; AVE=52 ; MEDIAN = 51; TOTAL POINTS=87;

  6. (11/27/2007) Week 10 will cover sercurity and wireless

  7. (11/21/2007) Project 3 has been posted here

  8. ( 11/17/2007) TA's office hours next week will be on Mon(Nov 19) from 6:00-7:00pm. Midterm 2 will be on Tue (Nov 20), and here are topics for midterm 2:
    - UDP
    - TCP:
    - Connection establishment
    - Timer computation
    - Slow start
    - Fast recovery/Transmit
    - Self clocking
    - Additive increase/Multiplicative decrease
    - IP
    - Class-based routing
    - CIDR
    - Address forwarding decision rule
    - Router architecture
    - Head-of-line blocking
    - Routing:
    - Link state
    - Distance vector
    - Poison reverse
    - Hierarchical routing

  9. (11/10/2007) Due to a problem with handin, the due date for project part 2 has be extended again, this time to Tuesday Nov. 13, 20:00:00

  10. ( 11/09/2007) If the handin system doesn't work, you could send your project 2 to TA: tphan@cs.rutgers.edu

  11. (11/07/2007) The due date for project part 2 has be extended again, this time to Friday Nov. 9, 23:59:59

  12. (11/05/2007) The due date for project part 2 has be extended to Nov. 7, 23:59:59

  13. (10/30/2007) No recitation nor TA's office hour this week. Instead we will have the code review on Thursday (Nov 1st) at HILL 248.
    Note:
    - Be ready to run your code for project 1 in the cereal cluster, and use the submitted version.
    - Show up 15' before your time slot. If the time slot doesn't work for you, please send an email to TA to re-schedule.
    - You SHOULD show up, even in the case your code is not runable. In this case, we will talk about approaches for project 2 & project 3.
    Groupd ID Name Time Slot
    3Jeff Morski 7:20-7:30
    4Dunxu Hu7:30-7:40
    5Annand Gaitonde7:40-7:50
    6Larry Ng7:50-8:00
    7Asanka Rajapakse8:00-8:10
    8Thomas Schirripa8:10-8:20
    9Stephen Shieh8:20-8:30
    10Matthew Travis8:30-8:40
    11Kevin Young8:40-8:50
    12Ilya Tarasov8:50-9:00
    3Ryan Gravener9:00-9:10
    5Yori Kvitchko9:10-9:20
    1Jan-Michael Cruz9:20-9:30
    2Christopher John Gonzalez9:30-9:40
    -OTHERS9:40-10:00

  14. (10/23/2007) Project part 2 is posted.

  15. (10/22/2007) Mid-term 1 scores are posted on the SAS gradebook. Scores are out of 93 possible points: >72 A, 72-60 B+, 59-55 B, 54-51 C+, 50-45 C, 44-41 D, < 40 F.

  16. (10/18/2007) TA's office hour this week will move to Friday 12:00-1:00pm because the university closes the parking lots on Thursday from 1:30pm and questions about midterm 1 could be answered soon.

  17. (10/14/2007) Project 1 deadline extended. to Oct. 17th, due to collisions with use of the ilab machines on the 14th.

  18. (10/14/2007) Project'1 description has some updates about tracker replacement.

  19. (10/02/2007) Homework 1 problems are posted.

  20. (10/02/2007) Mid-term 1 is next week. Topic include everything up and including reliable data transfer. See the homework problems and old exams for sample questions.

  21. (09/18/2007) Project 1 is posted.

  22. (09/18/2007) Dates for exams and projects are posted.

  23. (09/06/2007) No recitation the first week of classes.

 

Overview


  • Course Objectives

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.

  • Prerequisites

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, the FAS gradebook. and the Rutgers sakai courseware site.

  • Textbook

James F. Kurose and Keith W. Ross, Computer Networking, 3rd edition.

  • Expected Work

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.

  • Project

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 2 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 asking for help, or at worst, 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:

1.     A classmate smarter than you.

2.     Your TA.

3.     The professor.

  • Mid-terms and Exams

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.

  • Homeworks

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.

  • Grading

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 or Deadline

Notes

Section 08

Mid-term 1

Tuesday, October 9th

No electronic devices or notes allowed. No cheat sheets allowed

Project 1

Monday October 15th

 

Project 2

Monday, November 5th

 

Mid-term 2

Tuesday, November 20th

No electronic devices or notes allowed. No cheat sheets allowed

Project 3

December 14th

 

Final

December 11th

You must send the instructor email at least 2 weeks before the final if you need to take the makeup!

 

Lecture Notes


Dates

Theme

Topics

Readings from Kurose

Notes

Week 1:

Fundamentals

Networks (Core vs. Edge), Switching schemes, Delay Analysis, Pipelining, Layering, Encapsulation

1.1-1.9

PPT   PDF

Week 2:

Application Layer Protocols

Basic Messaging, HTTP, FTP, SMTP, DNS

2.1-2.5

PPT    PDF

Week 3:

Network Programming

Sockets, Threads

2.7-2.9

PPT    PDF

Week 4:

Peer to Peer (P2P)

Bitorrent, Distributed Hash Tables

2.6

PPT   PDF

Week 5:

Reliable Data Transfer Algorithms

ABP, Go-Back-N, Selective-Repeat

3.1-3.4

PPT   PDF

Week 6:

Transport Protocols

UDP, TCP (flow control, congestion control)

3.5-3.7

PPT   PDF

Week 7:

IP Address

IP addresses, Routers, ICMP

4.1-4.4

PPT   PDF

Week 8:

Routing

Routing algorithms, routing protocols

4.5-4.6

PPT   PDF

Week 9:

Link Layer

Error detection & correction, MAC sub-layer, Ethernet LANs, token-ring

5.1-5.6

PPT   PDF

 Week 10:

Security

Cryptography, Authentication, Digital Signature, Firewall

8.1-8.8

PPT   PDF

 Week 10:

Wireless Networks

802.11 MAC 

6.1, 6.3

PPT   PDF

 Week 12 + 13: (We are here)

Queue management + Queuing Theory

Leaky Little's Law,Kendall Notation, M/M/1 analysis
Leaky Bucket, Token Bucket, Fair Queuing,

7.5.2

PPT   PDF

Week 14:

Web Services

 Web 2.0

 

   



 

 

  

 

 

 

 

 

 

Homework


Sample Questions 1

Projects


Project 1

Project 2

Project 3


Old Exams


Mid-term 1

Mid-term 2

Final

Fall 2003

Fall 2002,   Spring 2004

Fall 2000,   Fall 2001,   Spring 2004