CS 1652 –
Data Communication and
Computer Networks
Fall 2008
Syllabus
Instructor: Prof. José Carlos Brustoloni (jcb@cs.pitt.edu)
-- Classes: SENSQ 5129 – M W
-- Office hours: SENSQ 6111 – M W H F 12:00 – 1:00 p.m.
Teaching Assistant:
-- 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,
·
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
Calendar
Note: subject to revision
Last update: 8/25 5:55 p.m.
|
Date |
Topic |
|
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 |
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 |
|
|
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 |
|
|
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 |
|
|
|
10/20 |
Routing
algorithms and protocols |
4.5, 4.6 |
|
|
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 |
|
|
11/24 |
|
|
|
|
11/26 |
(Thanksgiving
Recess) |
|
|
|
12/1 |
Review |
|
|
|
12/3 |
(Third exam) |
|
|
|
12/5 |
(Prog. assignment 7 due |
|
|
Study Guide
1.
The “
· 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.