Computer Communications Networks & Distributed Processing
(aka Computer Networks)
2009/10 Catalog description
Prerequisites: CS 253 and 254. Study of networks of interacting computers. The problems, rationale, and possible solution for both distributed processing and distributed data bases will be examined.
Logistics
- Instructor
- Dr. Stan Kurkovsky, Professor of Computer Science
- Office
- MS 303-08
- Phone
- (860) 832-2720
- Fax
- (860) 832-2712
- kurkovskysta@ccsu.edu
- Office hours
- MW 3:15 pm - 5:15 pm, TR 9:00 am - 9:30 am or by appointment
- Class meetings
- MW 5:15 pm - 6:30 pm @ TBA
Textbook and other reference materials
- Computer Networking, 5th edition by Kurose and Ross, Addison Wesley, ISBN 0136079679
- In-class handouts
- Companion web site available at http://wps.aw.com/aw_kurose_network_5
- Instructor's web site available at http://www.cs.ccsu.edu/~stan/ and other web sites recommended by the instructor
- Wireshark packet sniffer available at http://www.wireshark.org
- Blackboard Vista will be used to turn in all assignments
- Course project description
Learning outcomes
Program objectives and outcomes are supported by the following learning outcomes achieved by students upon a successful completion of this course:
- Understand fundamental underlying principles of computer networking (a,b);
- Understand details and functionality of layered network architecture (a,j);
- Apply mathematical foundations to solve computational problems in computer networking (a,j);
- Analyze and summarize research literature describing P2P file sharing system architectures (e,g);
- Understand ethical, legal, security, and social issues related to computer networking (e);
- Participate in a medium scale team project utilizing modern software development tools (a,b,c,d,i);
- Design and implement a P2P file sharing application utilizing several application and transport layer protocols (a,b,c,i,j,k).
Tentative schedule
Reference: KR - Kurose & Ross, Computer Networking
Week 1: August 31 - September 4
- Lecture: Introduction; course overview and objectives.
Reading: none - Lecture: Network edge and network core
Reading: KR 1.1-1.3
Week 2: September 7 - September 11
- September 7 - Labor Day
- Lecture: Delay, loss and throughput; Layered
architectures
Reading: KR 1.4-1.6
Week 3: September 14 - September 18
- Lab 1
- Assignment 1 is handed out
- Lecture: Network applications
Reading: KR 2.1
Week 4: September 21 - September 25
- Lecture: HTTP
Reading: KR 2.2 - Lecture: FTP and email
Reading: KR 2.3-2.4
Week 5: September 28 - October 2
- Lab 1 is due
- Assignment 1 is due
- Lab 2
- Lecture: DNS and P2P
Reading: KR 2.5-2.6
Week 6: October 5 - October 9
- Midterm 1
- Lecture: Transport layer services; multiplexing/demultiplexing
Reading: KR 3.1-3.2
Week 7: October 12 - October 16
- Lab 2 is due
- Project part 1 (survey paper) is due
- Lecture: UDP;
reliable data transfer
Reading: KR 3.3-3.4 - Lecture: Reliable data transfer
Reading: KR 3.4
Week 8: October 19 - October 23
- Lecture: TCP
Reading: KR 3.5 - Lecture: Congestion control
Reading: KR 3.6-3.7
Week 9: October 26 - October 30
- October 26 - Last day to withdraw from full-semester courses without approval
- Project part 2 (system design) is due
- Lab 3: part 1, part 2
- Assignment 2 is handed out
- Lecture: Network layer, virtual circuits and datagram
networks
Reading: KR 4.1-4.2
Week 10: November 2 - November 6
- Lecture: Principles of routing and switching
Reading: KR 4.3 - Lecture: IP
Reading: KR 4.4
Week 11: November 9 - November 13
- Lab 3 is due
- Assignment 2 is due
- Lecture: Routing algorithms
Reading: KR 4.5 - Lecture: Internet routing
Reading: KR 4.6
Week 12: November 16 - November 20
- Lecture: Broadcast
and multicast routing
Reading: KR 4.7 - Midterm 2
Week 13: November 23 - November 27
- Lecture: Link layer services; error correction and
detection
Reading: KR 5.1-5.2 - Assignment 3 is handed out
- November 25 - 29: Thanksgiving Recess - No Classes
Week 14: November 30 - December 4
- Lecture: Multiple access protocols; link layer
addressing
Reading: KR 5.3-5.4 - Lecture: Ethernet; hubs and switches
Reading: KR 5.5-5.6
Week 15: December 7 - December 10
- Assignment 3 is due
- Lecture: PPP
Reading: KR 5.7 - Project demonstration
- Project part 3 (final deliverables) is due
Final: December 14
- Final exam: Monday, December 14, 5:00 - 7:00 pm
Midterms
Midterms are non-cumulative and are designed as elementary evaluation devices and to prompt the student to stay abreast of assigned topics. Each test will take 50 minutes. Make-up tests may only be given if a student can provide a written proof of a serious reason for missing a test (such as illness or accident).
Questions on a test may include:
- True/false questions,
- Multiple choice questions,
- Fill in the blank questions,
- Short answer questions.
Final exam
Final exam is a cumulative objective test of representative content of the entire semester's course offerings.
Lab assignments
During the labs students will work on hands-on problems focusing on the material covered in class lectures and reading assignments. Students can work on lab assignments individually or in teams of two. Deliverable for each lab is due no later than two weeks after the lab date. Deliverables for each lab assignment must be submitted via Blackboard Vista - no other submissions will be accepted.
Assignments
Each assignments will consist of a set of mostly theoretical problems based on the textbook and lecture material. Students must work on assignments individually and turn in printed or neatly hand-written solutions. All submitted pages must be stapled together; the first page must have the student name and the assignment number.
Course project
While working on the course project, students will use the knowledge and skills obtained in this course covering many if not all of the course topics. Working in teams of two (preferably the same teams as on the labs), students will design and implement a simple peer-to-peer file sharing system. Course project is delivered in three stages: a survey paper discussing different existing P2P architectures for file sharing; a detailed design of of the system to be implemented including its protocols (students are strongly encouraged to use UML, in particular, sequence and class diagrams); and the final demonstration of the working system (all source code and any changes to the design document must also be submitted at that time).
More details on deliverables and their due dates are available here.
Honesty policy
It is expected that all students will conduct themselves in an honest manner (see the CCSU Student Handbook), and never turn in any work which is not their own. Violating this policy will result in a substantial grade penalty, and could result in expulsion from the University. However, students are allowed to discuss assignments with others and receive debugging help from others.
Attendance
All students are expected to attend class sessions regularly. However, recognizing individual differences, each student is responsible for his/her own attendance and for making-up any missed study or work. Limited assistance will be offered to those with plausible reasons for absences; unexcused absences will result in the student being totally responsible for the make-up process.
Help with computers
The University offers some student assistants who may be of value in helping students with basic computer functionality only, not with program writing.
Students with disabilities
Any student who feels s/he may need an accommodation based on the impact of a disability should contact me privately to discuss your specific needs. I will need a copy of the accommodation letter from Student Disability Services in order to arrange your class accommodations. Contact Student Disability Services, Room 241, Copernicus Hall, if you are not already registered with them. Student Disability Services maintains the confidential documentation of your disability and assists you in coordinating reasonable accommodations with your faculty.
Grades and evaluation
Students will be evaluated regularly during the semester and should be aware of their progress continuously during the semester. The final course grade will be reported according to the stated University policy.
The final course grade will be calculated according to the following distribution of points:
| Midterms, 2 @ 10 points each | 20 |
| Assignments, 3 @ 5 points each | 15 |
| Labs, 3 @ 5 points each | 15 |
| Project: survey paper | 5 |
| Project: design | 5 |
| Project: final deliverable | 15 |
| Final exam | 20 |
| Class participation | 5 |
| Total | 100 |
Course letter grade will be determined as follows:
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
| 95-100 | 90-94 | 87-89 | 84-86 | 80-83 | 77-79 | 74-76 | 70-73 | 67-69 | 64-66 | 60-63 | 0-59 |