COMP/ELEC 556 -
Introduction to Computer Networks (Graduate)
eugeneng at cs.rice.edu
Office: DCH 3005
Office hour: By appointment
|bmb15 at rice.edu
|hs86 at rice.edu
- 10:40am, Tue & Thu, HRZ 212
Course web page
Course schedule, lecture notes, readings, assignments, etc
networking is a rapidly advancing field. New technologies such as
software-defined networking and optical switching continue to
transform computer network infrastructures. Everyday computer systems
critically rely on the Internet for communication, data access, and
information dissemination. Building scalable networked computer
systems and effectively solving hard computational and data analytics
problems using distributed, data-intensive, and parallel-computing
techniques will require an intimate knowledge of the underlying
computer networks' performance characteristics. It is therefore
important for computer scientists and computer engineers to be
familiar with the fundamentals of computer networking. This 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. Within these projects, students are challenged to solve
advanced problems beyond the scope expected for
Computer Networks - A Systems Approach, 5th Edition by Larry L. Peterson and Bruce S. Davie
A Top-Down Approach, by James F. Kurose and Keith W. Ross
Computer Networks by Andrew Tanenbaum and David J. Wetherall
Programming, Volume 1: The Sockets Networking API by W. Richard Stevens, Bill Fenner and Andrew M. Rudoff
||40% (the projects are weighted equally)
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
- The problem(s) you want to be regraded
- For each of these problems specify clearly why do you think the
problem was misgraded.
assignments are to be done by each student individually.
You may form
groups of up to 4 people to do the projects. You may also work alone.
It is up to you to form and
your own group. To collaborate effectively, your group members should
in all of the major design decisions. You should also determine a
partitioning of responsibilities so that your group can work
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
software engineering skills.
You will be using
your CLEAR computer account for programming projects in this course. You can remotely login to a CLEAR server by using the secured shell (ssh) to connect to "ssh.clear.rice.edu"
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.
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%
day. Projects more than 2 days late will not be accepted. Additional extensions
will not be granted.
Honor Code and Issue of Cheating
First and foremost, when in doubt of whether a specific behavior is acceptable, ask the instructor for a written clarification. Broadly speaking, for homework and project assignments, it's acceptable to ask
someone about the concepts, algorithms, or approaches needed to do
the homework and project 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. For exams, you are strictly prohibited from receiving any form of outside aid.
Do not go on GitHub or use any other Internet search tools or Chatbots to search for solutions. Do not publicly share your own solution to GitHub or any other sites. Any such act is considered a violation of the Honor Code.
Suspected honor code violations will be reported to the Honor Council. For further information about the honor system at Rice, visit honor.rice.edu.
Accomodations for Students with Special Needs
Student with a
disability requiring accommodations in this course is encouraged to
contact me and Disability Support Services in the Allen Center, Room 111.
Rice University cares about your wellbeing and safety. Rice encourages any student who has experienced an incident of harassment, pregnancy discrimination, gender discrimination, or relationship, sexual, or other forms interpersonal violence to seek support through The SAFE Office. Students should be aware when seeking support on campus that most employees, including myself, as the instructor/TA, are required by Title IX to disclose all incidents of non-consensual interpersonal behaviors to Title IX professionals on campus who can act to support that student and meet their needs. For more information, please visit http://safe.rice.edu or email email@example.com.