CS 422: Computer Networks

Spring 2017


Meeting Days/Time/Room

TR 9:00 AM - 10:15 AM. Room: WTHR 104


Sonia Fahmy, office: LWSN 2142H, e-mail: fahmy@cs.purdue.edu, phone: (765) 49-46183.
Office Hours: Thursdays 12-2 PM, and by appointment
Teaching Assistants and PSOs
Gaurav Thakur
PSOs and Office hours: Mondays 11:30 AM-1:00 PM HAAS 257; Thursdays 1:30 PM-2:50 PM LWSN B146
E-mail: gthakur@purdue.edu

Radhika Bhargava
PSOs and Office Hours: Wednesdays 1:30 PM-3:00 PM LWSN B146; Fridays 1:30 PM-3:00 PM LWSN B158
E-mail: bhargavr@purdue.edu

Your specific PSO will be given on your schedule on mypurdue but you are welcome to attend any PSO. There will be no PSOs the first two weeks of classes. We may be using some of the PSO sessions for you to demo your lab assignments.

Computer Labs

We will be using machines running Linux for this course. You can use the Linux machines in LWSN B146 and B158 and and HAAS G56 and 257. The machines can be accessed remotely via ssh; for more information, please see https://www.cs.purdue.edu/resources/facilities/remote-access.html See the pages at http://support.cs.purdue.edu/help/Main_Page for information/problems with the computer systems we will use for the programming assignments. Your login and password for these machines will be the same used for other CS machines.


This is a senior-level course in computer networking and internetworking. The focus of the course is on understanding fundamental principles of networking, with emphasis on the software and protocols.

Tentative Schedule

  1. Weeks 1-3: The Internet, Internet history, protocols, performance, network programming
  2. Weeks 3-4: Example applications, DNS
  3. Weeks 5-7: Error detection, MAC, Ethernet, ARP, switches, 802.11
  4. Weeks 7-8: Review, midterm, midterm solution
  5. Weeks 8-11: IP, ICMP, DHCP, routing
  6. Weeks 12-14: Reliability, flow and congestion control, TCP, UDP
  7. Week 15: Software-defined networking, final review


Computer Networks And Internets. D. E. Comer. On Reserve in the Math library.

Other Useful Books (most of them available in the library; we will discuss some material from them in class):

  1. Computer Networking - A Top Down Approach, James F. Kurose and Keith W. Ross.
  2. Computer Networking: Principles, Protocols and Practice, Olivier Bonaventure. 2nd edition.
  3. Internetworking with TCP/IP. D. E. Comer.
  4. UNIX Network Programming, volumes 1 and 2. Stevens.
  5. Computer Networks: A Systems Approach. L. Peterson and B. Davie
  6. The Art of Computer Systems Performance Analysis. Raj Jain.
  7. An Engineering Approach to Computer Networking. Srinivsan Keshav.

Tentative Grading Policy

Midterm exam
March 2nd, 2017, in class (9 AM, WTHR 104)
Final exam
May 3rd, 2017, 8 AM, WTHR 104
Programming assignments and written homeworks 45%
Unannounced (pop) quizzes 8%

You can view your grades on blackboard.



No makeup exams will be given except for a documented severe medical or family emergency. It is the responsibility of the students to arrive on time for the exam. Exams are closed-book, closed-notes, closed-discussion, closed-smartphone/laptop, closed-calculator.

Due Dates

All assignments are due on the dates and times specified. It is the responsibility of the students to manage their time so that the assignments can be submitted before the deadline.

Each student will be allowed five days of extensions which can be applied to any combination of assignments during the semester without penalty. After that a late penalty of 20% of the maximum score per day will apply. Use of a partial day (even one minute late!) will be counted as a full day. Extension days CANNOT be rearranged after they are applied to a submission. Use them wisely! You need NOT notify us that you are using an extension day or submitting late; we will keep track of this for every student automatically based on the timestamp of the submission. Assignments will NOT BE accepted if they are more than five days beyond the due date (regardless of whether extension days will be applied to that particular assignment or not). Any additional extensions will be granted only due to serious and documented medical or family emergencies.

Academic Dishonesty

We wish to foster an open and collegial class environment. At the same time, we are vigorously opposed to academic dishonesty because it seriously detracts from the education of honest students. Because of this, we have the following standard policy on academic honesty, consistent with Purdue University's official policy.

Any case of academic dishonesty will be dealt with by a severe grade penalty in the overall class grade and referral to the office of the Dean of Students.

Classroom Policy

Class participation and discussions are strongly encouraged. However, please be considerate to others: avoid coming to class late, leaving early, talking to other students, etc. Please turn off your cell phone before the class starts.

Emergency Policy

In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances. Any changes will be posted to the course web page or on Piazza.

You can also review the policies page maintained by Professor Gene Spafford for additional information about academic honesty.

Discussion Group and Online Resources

Questions/comments should be posted on Piazza: https://piazza.com/purdue/spring2017/cs42200. Make sure that you check the discussion group and your Purdue e-mail frequently (at least twice per day). Please do NOT post answers to the assignments, though posting general clarifications is fine. Complaints about the assignments or the class should NOT be posted to the group-- instead, they should be e-mailed to the instructor. Please be patient and courteous. Please ensure that the tone of your messages is respectful and the language used is appropriate.


If you are experiencing stress or personal problems, Purdue provides counseling services through the Purdue CAPS Center. See https://www.purdue.edu/CAPS/ for more details.

Useful Links