Syllabus - Computer Science

advertisement
Fall 2009 Syllabus
COSC 5328
Description
Principles and applications of computer communication, networking, communication
protocols, the Internet, LANs, packet-switching networks, network architecture.
Where & When
Time: 4:00 p.m. to 5:15 p.m. TuTh
Place: Maes 111
Instructor: Lawrence Osborne
( ljosborne@my.lamar.edu)
Office Hours: in Maes 201 at 10:30 to Noon Monday thru Thursday and by
appointment.
Prerequisites
The official prerequisites are COSC 2336, COSC 4302, and COSC 4310.
Grade of C or better. (Consult the instructor if you are unsure of your
background.)
Course Learning Outcomes:
Upon completion of this course, students will be able to:
1. Analyze the structure and organization of computer networks, including the
division into network layers, the role of each layer, and the relationships between
the layers.
2. Describe the basic concepts of application layer protocol design, including
client/server models, peer-to-peer models, and network naming.
3. Demonstrate in-depth understanding of transport layer concepts and protocol
design, including connection-oriented and connectionless models, techniques to
provide reliable data delivery, and algorithms for congestion control and flow
control.
1
4. Demonstrate in-depth understanding of network layer concepts and protocol
design, including virtual circuit and datagram network designs, datagram
forwarding, routing algorithms, and network interconnections.
5. Explain the basic concepts of link layer properties, including error-detection and
correction techniques, multiple access protocols, point-to-point protocols, and
characteristics of link layer media (including wireless links).
6. Write client-server and peer-to-peer applications using C++ and UNIX sockets.
Topic Outline
1. Computer Networks and the Internet (2.0 weeks)
A. Overview of the Internet, protocols, networks
B. Basic definitions
C. Access networks and physical media
D. Protocol layers
E. History
2. The Application Layer (2.5 weeks)
A. Protocols, continued
B. WWW, FTP, Email, DNS
C. Socket programming
3. The Transport Layer (2.5 weeks)
A. Services and principles
B. Reliable data transfer
C. Connectionless versus connection-oriented transport
D. UDP and TCP
E. Congestion control
4. The Network Layer (1.5 weeks)
A. Routing and routers
B. Virtual circuit and datagram networks
C. Internet protocol and routing
5. The Link Layer and LANs (1.5 weeks)
A. Error detection/correction
B. Multiple access protocols
C. LANs, ethernets
D. MAC addressing, ARP
E. Hubs, bridges, switches
F. PPP, ATM, MPLS
6. Wireless and Mobile Networks (1.0 weeks)
A. Wi-Fi and cellular networks
B. Mobility management
7. Multimedia Applications (2.0 weeks)
A. Streaming audio and video, RTSP
2
B. Real time protocols
C. Scheduling and policing mechanisms
Learning Materials
Textbooks
Required:
Larry L. Peterson and Bruce Davie, Computer Networks, A Systems Approach,
Fourth Edition, Morgan Kaufmann Publishers (2007), ISBN 10: 0-12-370548-7.
Michael J. Donahoo, and Kenneth L. Calvert, TCP/IP Sockets in C, Morgan
Kaufmann Publishers (2001), ISBN 1-55860-826-5.
Other Recommended Texts: James F. Kurose & Keith W. Ross, Computer
Networking: A Top-Down Approach Featuring the Internet, 5th edition, AddisonWesley (2005), ISBN 0-13-607967-9 (hardback).
W. Richard Stevens, Bill Fenner, & Andrew M. Rudoff, UNIX Network
Programming: The Sockets Networking API, 3rd edition, Addison-Wesley (2004),
ISBN 0-13-141155-1.
COSC 5328 Home Web Page
Just the basic course material, such as the syllabus and links to socket
programming tutorials, may be obtained from the home page
http://cs.lamar.edu/faculty/osborne/5328/5328.htm.
COSC 5328 MyLamar Web Page
All other course material, including course announcements, lecture notes, online
quizzes, and assignments may be obtained from the course MyLamar page.
All assignments must be submitted on CD. These include both homework and
lab assignments.
I am in the process of uploading the course to Blackboard. I will let the class
know when the resources on Blackboard will be helpful to you.
3
Assignments
Computer and Written Work
All assignments except the final project must be done on your own. Duplicate
assignments will receive a negative grade with the same absolute numerical value that
the program would have received had it been done by you alone. Those who allow
others to copy from them will receive the same negative grade as those who do the
copying.
Essays and answers to discussion questions on assignments must be coherent, succinct,
readable, and grammatically correct English prose. Part of the grading for such questions
reflects this. All work must be neat and legible. Illegible or poorly formatted work
receives no credit. We reserve the right to define what is or is not legible or easily read.
Essays and answers to discussion questions on in-class examinations need only list the
relevant points. You do not have time to write more than one draft, and so I must be
lenient on grammar, spelling, and style.
Exercises involving coding should contain the following files: well-documented source
code for each module; an input file that you have used to test your program, an output
file with the results of the tests, and a ReadMe file explaining any usage instructions, in a
regular text file, describing:
How to compile your code
How to run your program
How to verify that the program is running successfully.
Late Work
Late assignments are accepted with the following penalties:
up to 24 hours late
up to 48 hours late
up to 72 hours late
more than 72 hours late
12/100 points
25/100 points
50/100 points
100/100 points
Grading
Your grade is based on
lab and homework assignments 15%
discussion and quizzes
15%
project
20%
a mid-term exam
25%
4
a comprehensive final exam
25%
Final letter grades are based on the relative distribution of total scores and not on any
preset numerical scale.
Course Resources
Course Files
Basic course information is available through the course Web page:
http://cs.lamar.edu/faculty/osborne/5328/5328.htm
Computing Resources
Some lab assignments require Java programming. Other programs may need to be done
in C or C++ instead. Still other assignments may require writing Unix scripts. Each
assignment will clearly state the programming language to be used.
If you have not programmed in Java or C++ or you have not used Unix before, drop this
course now and spend this semester learning these languages. You cannot pick up
these languages well enough during the course to be able to complete your programming
assignments successfully. You should have completed Operating Systems (COSC 4302)
and be able to write multithreaded programs. Programming assignments should be tested
on a Computer Science lab machine, which can be done remotely. The instructor or
graduate teaching assistant runs your program on these machines to determine your
grade.
Other work may be done on any computing equipment to which you have access.
Other Policies
Honor Code






All assignments must be done individually.
Assignments are not to be done in groups.
All assignments will be automatically and manually compared against each other.
All parties involved in cheating will be prosecuted no matter who copied from
whom.
It is your duty to keep your code secure.
Penalty: for the first offense, your assignment is given a negative grade;
for the second offense, your course grade will be “F.”
The same rules also apply for cheating on exams.
Please be aware of the departmental Honesty Policy, which you received with this
syllabus and which is mentioned in the following paragraph.
Student Information Guides
5
Policies on cheating, plagiarism, incomplete grades, attendance, discrimination, sexual
harassment, and student grievances are described in the Student Handbook and in the
Departmental Honesty Policy which is on http://cs.lamar.edu. Students are
responsible for all the information in these documents.
Students with Disabilities
Reasonable accommodations are available for students who have a documented disability. Please
notify the Professor during the first week of class regarding accommodations needed for the course.
Late notification may cause the requested accommodations to be unavailable. Students needing
accommodations must first have them approved through the Office of Services for Students with
Disabilities, Wimberley Room 101A. The phone number for the Office of Services for Students
with Disabilities is 409-880-8026.
Reading Lists:
RFCs
TCP RFC-793
IP RFC-791
ICMP RFC-792
OSPF RFC-1583
BGP4 RFC-1771
IPNG RFC-1883
Philosophy
D. Clark, Design Philosophy of the DARPA Internet Protocols, In Proc. SIGCOMM
'88. [PDF]
MACAW: A Media Access Protocol for Wireless LANs [PDF]
Classic Network Papers
1.W. Stevens, TCP Slow Start, Congestion Avoidance, Fast Retransmit,
and Fast Recovery Algorithms, RFC 2001.
http://globecom.net/(nocl)/ietf/rfc/rfc2001.shtml.
2.Extended version of "Wide-Area Internet Traffic Patterns and
Characteristics," K. Thompson, G. J. Miller, and R.
Wilder, IEEE Network, November/December 1997. Available in
postscript (4.27M), gzipped postcript (776K), and
pdf (2.4M). Also available locally ( ps.gz ).
3.What's Next for Internet Data Analysis? Status and Challenges
Facing the Community K. Claffy, Tracie Monk, 1998.
4.Promoting the Use of End-to-End Congestion Control in the Internet,
S. Floyd, K. Fall, 1998.
6
5.Dynamics of Internet routing information, B. Chinoy, Mar 1993
6.Dynamics of Random Early Detection, Dong Lin and Robert Morris,
SIGCOMM 1997
7.TCP Behavior with Many Flows, R. Morris, ICNP 1997
8.End-to-End Routing Behavior in the Internet. V. Paxson, IEEE/ACM
Transaction on Networking, Vol.5, No.5, pp.
601-615, October 1997.
9.End-to-End Internet Packet Dynamics, V. Paxon, ACM SIGCOMM '97.
10.Wide-Area Traffic: The Failure of Poisson Modeling. V. Paxson, S.
Floyd, IEEE/ACM Transactions on Networking,
Vol. 3 No. 3, pp. 226-244, June 1995.
11.Congestion Avoidance and Control ( compressed postscript, pdf). V.
Jacobson, (slightly-revised 1992 version of the
SIGCOMM 1998 paper).
Other Sites and Papers
Sites with interesting and timely papers on TCP/IP networking:
vBNS , NLANR , LBL NRG
Archive of Internet drafts, RFCs, STDs:
http://globecom.net/(nocl)/ietf/index.shtml
Resource ReSerVation Protocol (RSVP) -- Version 1 Functional
Specification, Internet draft.
Integrated Services in the Internet Architecture: an Overview, RFC
1633, June 1994.
7
Download