Course Outline
Course Name:
ICS 570: Advanced Compuer Networking
Instructor:
Dr. Farag Azzedin
Building 22, Room 107
Phone: 860-3431
fazzedin@ccse.kfupm.edu.sa
Office hours: Sat/Mon/Wed 12:00 pm - 13:00 pm
Course Web site: http://www.ccse.kfupm.edu.sa/~fazzedin/COURSES/ANC2005
Consultation: In the instructor's office during listed office hours or by an appointment. Emails are also
welcome.
Course Description:
This is a graduate-level course that examines modern computer
networking and data communications.
We will study the fundamental principles, elements, and protocols of computer networks.
We will investigate how the different protocols work, why they work that way, and their
performance trade-offs. Using this knowledge, we will try to examine the way applications
are deployed on the Internet and their performance trade-offs. In particular,
we will examine the advancements
that are made in the fundamental
areas of network computing. Several case studies will be conducted by
examining example systems to understand the state-of-the-art.
Particular focus of the course will be on Grid computing systems as well as
Peer-to-Peer systems.
A major component of the course will be
two projects. Please see the
Projects Information page.
By the end of the course, you should be able to:
explain the operation of a range computer networking applications such as email, web,
and peer-to-peer file-sharing;
relate the architecture of the Internet to the underlying design principles;
illustrate the operation of common routing protocols, queuing mechanisms, and congestion
control mechanisms;
explain the performance of a given set of routing protocols, queuing mechanisms, and congestion
control mechanisms on an example network.
Prerequisites:
It is assumed that the students have a good working knowledge of C/C++,
Java, and Unix/Linux socket programming. Also, It is also assumed that the
students have already taken undergraduate level computer networks and operating
systems courses.
Course Syllabus:
The course syllabus is outline in this word document.
Grading:
| Attendance, class participation and assignments |
10% |
| Midterm exam |
20% |
| Research paper |
20% |
| Term project |
20% |
| Final examination |
30% |
- Class participation:
Students are expected to read some paper/chapter of relevant
material before class. The reading material will be assigned beforehand.
I expect students to pose relevant questions regarding the
material presented in class.
I expect the class to engage in a discussion based on these
questions.
It is very
important that you attend all the classes. If there is a
need to be absent, PLease contact the course instructor beforehand.
- Midterm exam: There will be a midterm exam.
The questions will be from the material explained and discussed
in the class. The midterm is scheduled on Apr. 3 in class.
- Research paper:
In the research paper you are expected
to cover the following aspects with regard to the material
covered in the paper: the major problem, the innovative method, significance
in practical settings, possible improvements, possible ways of
alternative performance evaluation. The research paper grading policy
will be posted soon. Please check the
Projects Information page.
- Term project: You will be required to design
and implement a substantial portion of a real network computing
system. The objective is to get you intimately familiar
with some of the emerging network computing technologies.
The final project will be due in stages. There will be an
initial project proposal with timelines, a mid-term
progress report, and the final project (source code, documentation,
report, and demonstration).
- Final exam: There will be a final exam. This will
be held towards the end of the semester.
The questions will be from the material discussed
in the class. The specific scope of the exam will be defined
well before the exam.
Book for part of the course:
Grid Resource Management (mirrored PDF)
References:
Grid Computing: Making the Global Infrastructure a Reality,
Fran Berman, Geoffrey Fox, and Anthony Hey,
John Wiley, 2004.
Academic Dishonesty: Students are expected to abide by all the University
regulations on academic dishonesty.
Discussing and brainstroming with other students are encouraged. But, what you write
or code should be your own. In other words, DO NOT share code with other students.
Receiving and
providing code are equally WRONG! By doing this, you are defeating the purpose of
the learning experience that is supposed to be provided by this
course.
When in doubt, consult either the University guidelines or ask the instructor.
Dr. Farag Azzedin
January 9, 2005