COMP/ELEC 429 -
Introduction to Computer Networks
Rice University
Spring
2010
Instructor
Email:
eugeneng at cs.rice.edu
Office: DH 3005
Office hour: By appointment
Teaching
Assistants
Name
|
Email
|
Office
|
Office hour
|
Florin Dinu
|
fd2 at rice.edu
|
DH 3003 |
M 5:00 - 6:00pm
|
Jie Zheng
|
jz4 at rice.edu
|
DH 3002 |
W 2:00 - 3:00pm
|
Meeting
1:00pm
- 2:20pm, Tue & Thu, DH 1042
Course web page
(this page)
Mailing list
Use
"COMP429-TA-L at mailman.rice.edu" to email to all TAs and instructor
Course schedule, lecture notes, readings, assignments, etc
Description
Computer
networking is a rapidly advancing field. The Internet is already an
integral part of society. It is therefore important for computer
scientists and computer engineers to be familiar with the fundamentals
of computer networking. This undergraduate course will emphasize on the
architecture, algorithms, and protocols of the Internet. Topics include
local area networking, routing,
congestion control, network security, and applications
such as peer-to-peer and content distribution networks. Students will
work on hands-on projects to learn how to build Internet
applications
as well as network protocols.
Prerequisites
Experience with
programming in C and UNIX development tools (e.g. make, gcc, gdb) is
required. You should also have taken the equivalents of COMP 211/212
and COMP 221/320.
Textbook
Computer Networks - A Systems Approach, 4th Edition by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 2007.
Other
references
Computer Networking,
A Top-Down Approach Featuring the Internet, by James F. Kurose and Keith W. Ross
Computer Networks, 3rd ed by Andrew Tanenbaum
UNIX Network
Programming, Volume 1: Networking APIs:
Sockets and XTI, 2nd ed by W. Richard Stevens
Grading
Homeworks |
20% |
Projects |
40% (the projects are weighted equally)
|
Midterm exam |
15% |
Final exam |
25% |
Any requests
for
grade changes or regrading must be made within 7 days of when the work
was returned. To ask for a regrade, attach to your work a page that
specifies:
- The problem(s) you want to be regraded
- For each of these problems specify clearly why do you think the
problem was misgraded.
Exams
There will be
one midterm and one final. All exams will be
closed book, and will cover material from lectures, readings, and the
projects.
Homework
Assignments
Homework
assignments are to be done by each student individually and are due at
the beginning of lecture on the specified date.
Projects
You will form
groups of at most 3 people to do the projects. You
can
work by yourself, but we do not recommend it. It is up to you to form
and
regulate
your own group. To collaborate effectively, your group members should
be
involved
in all of the major design decisions. You should also determine a
partitioning of responsibilities so that your group can work
effectively
in parallel.
The TAs have
been instructed to grade in part on design and implementation style and
to be increasingly strict about this as the semester proceeds. In other
words, it is not enough to get a working solution; you must implement
the solution in an organized way that would simplify making further
enhancements. It will really benefit you in the long run to work on
your
software engineering skills.
Projects are due at
11:59pm on the specified date.
Computing Facilities
You will be using
your Owlnet UNIX account for programming projects in this course.
Late Policy
Written homework
assignments have strict deadlines. Homework handed in late will
be marked off 20% per day. Homework more than 2 days late will not be
accepted. Extensions will not be granted.
For projects, we will use flexible slip dates. Each student
is given an automatic extension of 4 calendar days for the semester.
You
can use the extension on any project during the semester in increments
of a day. For instance, you can hand in one project 4 days late, or one
project 2 days late and two projects 1 day late. The slip time will be
deducted from each team member's remaining slip time. This should let
you schedule due dates around the due dates for other courses. After you have used
up your slip time, any project handed in late will be marked off 20%
per
day. Projects more than 2 days late will not be accepted. Extensions
will not be granted.
Regarding
Cheating
It's OK to ask
someone about the concepts, algorithms, or approaches needed to do
the assignments. We encourage you to do so; both giving and taking
advice will help you to learn. However, what you turn in must be your
own, or for projects, your group's own work; copying other people's
code, solution sets, or from any other sources is strictly prohibited.
Accomodations for Students with Special
Needs
Any student with a
disability requiring accommodations in this course is encouraged to
contact me after class or during office hours. Additionally,
students will need to contact
Disability Support Services in the Ley Student Center.