CS 1652 –

Data Communication and

Computer Networks

 

Fall 2008

Syllabus

 

Instructor: Prof. José Carlos Brustoloni (jcb@cs.pitt.edu)

-- Classes: SENSQ 5129 – M W 4:30 – 5:45 p.m.

-- Office hours: SENSQ 6111 – M W H F 12:00 – 1:00 p.m.

          

Teaching Assistant: Md. Abedul Haque (mdabedul@cs.pitt.edu)

-- Office hours: SENSQ 6509 – T H 10:00 – 11:30 a.m.

 

Rationale and goals:

The Internet is profoundly changing the way we conduct business, communicate socially, or find information or entertainment. In this course, students learn about the network protocols and technologies that make the Internet possible. Concepts are introduced top-down, starting with the applications that are most familiar to students, such as the Web and e-mail, before delving into lower-level details. Students gain a hands-on perspective by writing their own simplified versions of studied protocols.

Pre-requisites:

CS 449 (Introduction to Systems Software)

Topics:

·        Introduction

·        Application Layer: Client/server applications (sockets), Web (HTTP), e-mail (POP, IMAP, SMTP), remote terminal (Telnet), file transfer (FTP), DNS, caching, content distribution, peer-to-peer applications

·        Transport Layer: Protocols for connectionless (UDP) and connection-oriented (TCP) transport

·        Network Layer: Routing algorithms (link state, distance vector) and protocols (RIP, OSPF, BGP), forwarding architectures, DHCP, NAT

·        Link Layer: Medium access control, Ethernet, Wi-Fi, PPP, ATM, switching architectures

·        Multimedia networking: Stored audio/video, Internet phone, interactive real-time protocols (RTP, RTCP, SIP), scheduling and policing, integrated and differentiated services

Grading:

11% Pop quizzes

32% Four programming assignments (8% each)

19% First exam

19% Second exam

19% Third exam

Textbook (required):

James Kurose and Keith Ross. “Computer Networking: A Top-Down Approach Featuring the Internet,” 3rd ed., Addison Wesley, 2005 (ISBN 0-321-22735-2). (The 4th edition is also OK).   

Important dates:

8/25 First class

9/1 Labor Day

9/5 Add/Drop deadline

9/24 First exam

10/13 Fall Break

10/14 Monday’s class will be held on Tuesday (following new University calendar)

10/24 Withdrawal deadline

10/27 Second exam

11/26-11/30 Thanksgiving Recess

12/3 Third exam

Policies

·        Class attendance is required.

·        You should check daily for course announcements on http://courseweb.pitt.edu

·        You need to check your Pitt email account daily, or configure it to forward messages to another email account that you do check daily.

·        All your answers to assignments and exams must be your own.

·        Do discuss course materials and assignments with other students at a conceptual level, but:

o        do not copy answers from others, and

o        do not allow others to copy your answers.

·        Students caught cheating will fail the course.

·        Late assignments will be penalized 5% per day the first two days after the deadline, and 10% per day thereafter.

·        Except in case of documented emergency, there will be no make-up exams. Related documentation must be produced to the instructor within a week.

Religious observances

If a scheduled class or exam conflicts with a religious observance you have, please alert the instructor as early as possible in the term for rescheduling or other accommodation.

Students with disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.

 

Calendar

Note: subject to revision

Last update: 8/25 5:55 p.m.

 

 

Date

Topic

Readings

Recommended exercises (3rd ed.)

8/25

Introduction, Internet, network edge, network core

1.1, 1.2, 1.3

 

8/27

Access networks, physical media, ISPs, delay and loss, protocols

1.4, 1.5, 1.6, 1.7

Ch. 1: Q. 4, 9,

P. 3, 22, 6g, 10

9/1

(Labor Day)

 

 

9/3

Application layer, sockets

2.1, 2.7, 2.8

 

9/8

Review

 

 

9/10

HTTP, FTP

2.2, 2.3

 

9/15

Email, DNS, P2P

2.4, 2.5, 2.6

Ch. 2: Q. 1, 4, 6, 11, 12, 16, P. 1, 9, 14

9/17

Review

 

 

9/19

(Prog. assignment 1 due 11:59 p.m.)

 

 

9/22

Transport layer, demultiplexing,

UDP

3.1, 3.2, 3.3

 

9/24

(First exam)

 

 

9/29

Reliable data transfer

3.4

 

10/1

TCP

3.5

 

10/6

Congestion control

3.6, 3.7

Ch. 3: Q. 2, 3, 4, 5, 6, 7, 8, P. 1, 3, 4, 12, 16, 19, 20, 21, 22, 23, 25, 27, 30, 31, 36, 37

10/8

Review

 

 

10/13

(Fall Break)

 

 

10/14

Network layer, VCs and datagrams, forwarding

4.1, 4.2, 4.3

 

10/15

IP, ICMP

4.4

 

10/17

(Prog. assignment 5 due 11:59 p.m.)

 

 

10/20

Routing algorithms and protocols

4.5, 4.6

Ch. 4: Q. 2, 8, 13, 15, 16, 24, 25, 26, P. 1, 21, 23, 25, 27

10/22

Review

 

 

10/27

(Second exam)

 

 

10/29

Link layer, error detection, multiple access

5.1, 5.2, 5.3

 

11/3

ARP, Ethernet, hubs and switches

 

5.4, 5.5, 5.6

Ch. 5: Q. 1, 3, 4, 7, 8, 9, 10, 11, 13, P. 3, 8, 9d, 9e, 10, 12, 13, 16

11/5

Wi-Fi

6.1, 6.2, 6.3

 

11/7

(Prog. assignment 6 due 11:59 p.m.)

 

 

11/10

Review

 

 

11/12

Multimedia networking, stored AV

7.1, 7.2

 

11/17

Internet phone, RTP, RTCP, SIP

7.3, 7.4

 

11/19

MM CDN, scheduling, policing, IntServ, DiffServ

7.5, 7.6, 7.7, 7.8

Ch. 7: Q. 2, 4, 5, 7, 8, 11, P. 5, 10, 11, 14, 15, 17f-i, 18, 19

11/24

 

 

 

11/26

(Thanksgiving Recess)

 

 

12/1

Review

 

 

12/3

(Third exam)

 

 

12/5

(Prog. assignment 7 due 11:59 p.m.)

 

 

 

 

Study Guide

 

1. Readings

 

The “Readings” column indicates the textbook sections that the instructor will discuss in each class. Read them before class. That way:

·        You save time and improve your class participation score, because you can use the class to clarify points that you found unclear in the textbook

·        You will also be better prepared for pop quizzes.

 

2. Recommended exercises

 

The “Recommended exercises” column lists questions and problems at the end of each textbook chapter that you should try to solve on your own before the next review class.

 

3. Review classes

 

After each major chapter, there will be a review class. The instructor and students will solve questions and problems on the topics discussed since the previous review class. Use these classes as an opportunity to clarify any questions you may have.

 

4. Programming assignments

 

The following programming assignments will be due:

 

a)      1: Multi-threaded Web server

b)      5: Implementing Reliable Transport Protocol

c)      6: Implementing Distance-Vector Routing Protocol

d)      7: Streaming Video with RTSP and RTP

 

A description of these programming assignments can be found in the course’s Web site. Please apply the following checklist to your solutions:

 

·        All your files should contain at the top, as a comment, your name and email address.

·        Your files should be properly indented, commented, and readable by others.

·        Your programs should compile and run correctly on Pitt’s CSSD Unix servers, such as unixs1.cis.pitt.edu, unixs2.cis.pitt.edu.

·        Your programs should handle errors properly.

·        Place all files comprising your solution in a directory called:  <your login name>-prog<n>

where <n> in the number of the programming assignment (1, 5, 6, or 7).

·        To submit your work, copy the above directory to

     /afs/cs.pitt.edu/courses/1652/hw_submit/prog<n>

                  where <n> in the number of the programming assignment (1, 5, 6, or 7). 

You can do this only once. You will not be able to submit again.

·        You may use the scp command for securely performing the above copy

·        After submitting your solution, please send email to the TA, mdabedul@cs.pitt.edu, with subject “CS 1652 programming assignment <n> submitted,” where <n> in the number of the programming assignment (1, 5, 6, or 7). 

·        Please submit your solution before the deadline.