CS 164: Computer Networks
Winter 2009
Overview
In CS 164, you will learn many of the fundamentals of computer networking: protocol
layering, socket programming, hardware basics, routing, simulations with NS-2 and more. Much of this
you will learn through hands on experiences in lab and working on programming
projects on your own. This course should give you plenty of knowledge to install,
administrate, and debug a (heterogeneous) IP network.
Basic Information
Course Grading
Course Outline
Lectures
Labs
Homeworks
Projects
Announcements
Course Policies
Basic Information
Instructor: Srikanth
Krishnamurthy (krish@cs.ucr.edu)
Office: ENGR2, room 331
Office hours: Wednesday 10:00 a.m. - 11:00 a.m. ENGR2, room 331
Teaching Assistant:
Jianxia Ning
(jning@cs.ucr.edu)
Office hours: Wednesday 2:30 p.m. - 3:30 p.m., ENGR2 Room 110 (TA Room)
Lectures:
Tuesday & Thursday 09:40 a.m. - 11:00 a.m. Sproul Hall 2365
Labs:
Section 21: Friday 8:10 a.m. - 11:00 a.m. , ENGR2 127
Section 22: Friday 2:10 p.m. - 5:00 p.m. , ENGR2 127
Textbook:
- L. L. Peterson and B. S. Davie, Computer Networks, A Systems Approach, Fourth Edition, Morgan Kaufmann.
Other References:
- The Pocket Guide to TCP/IP Sockets by Michael J. Donahoo and Kenneth L.
Calvert
- Unix Network Programming: Volume I by W.Richard Stevens Prentice Hall, 1998.
- Computer Networking: A Top-Down Approach Featuring the Internet by James
Kurose and Keith Ross. Addison Wesley
- Data Networks by D.Bersekas and R.Gallager. Prentice Hall.
Course Requirements:
CS 141, C Programming Skills; Basic knowledge
of (i) Operating Systems, and (ii) Probability Theory will help tremendously.
Course Grading:
Please refer to the first lecture where the grading policy is being mentioned.
Course Outline
- Introduction to Computer Networks
- Data Link Layer
- Routing -- Intra Domain
- Addressing and Routing Inter-domain
- Transport layer -UDP
- Transport layer TCP
- Congestion Control
- Multicast
Lectures
Labs
Homeworks
Projects
- Project Description
Reminder: The project is strictly personal work and projects that have the same source code will be graded accordingly.
Announcements
- The professor has office hours on Tuesday and Wednesday, 10 a.m.- 11 a.m. Welcome to drop by if you have any questions.
- The final exam is on Friday, 20th, from 9:00am to 11:00 am. It covers all the slides and everything in the lecture. Please bring a bluebook. You can bring a calculator as well.
- Some changes have been made to the project description, which are marked in red. Mainly, the requirement to run the r-SMTP as a deamon is not mandatory.
- Please email the TA to reserve the demo slot ASAP.
- Quiz 3 is on March 5th. The sections will be 4.2.5, 4.3, BGP (whatever the professor has covered), 5.1 and 5.2.
- Homework 6, which is the last homework for this course, is posted. Please send it in pdf format to the TA via email by the due date. Meanwhile, the solution to homework 4 is available.
- The homework3 solution is posted. so is homework5. Though it is due after quiz2, solving the problems in hwk5 might help in quiz2.
- The Project Outline is posted. Please check it out.
- The homework2 solution is posted. Plus the assignment for homework4.
- Quiz 2 will be on Feb 19th. The sections on the quiz will be 2.7.1, 2.7.2, 2.7.3, 2.8.2, 4.1, 4.2.1, 4.2.2, 4.2.3.
- The result for quiz 1 was distributed. If you have not got yours, please come in the TA's office hour on Feb. 4th, or lab time on Feb. 6th to pick it up. And, if you want to discuss about the questions, please consult the professor.
- Jianxia, the TA, apologized for not being able to be there for the office hour on Jan. 28th.
- The first quiz will be on Jan. 27th. The topics to be covered are Chapter 1 and Chapter 2, upto and including Ethernet (section 2.6).
- First lab for Section 21 & 22 will be held on January 9, Friday at the time and place indicated.
Course Policies
-
Material Covered: You are responsible for all material covered in
lecture, assigned reading, lab, programming projects, and on the mailing list.
-
Collaboration policy: The rules regarding collaboration are as follows:
- Midterm, final: No collaboration.
-
Programming projects: Discussion is encouraged, but stay away from one another's
code. When discussing a problem, avoid talking in code, and avoid
taking notes. If you filter the discussion through your own memory, you
are very unlikely to submit code that "accidentally" indicates you collaborated.
This is for your own protection.