CS425: Computer Networks (Jan-Apr 2020)

Syllabus

  1. Introduction, history and development of computer networks, networks topologies. Layering and protocols.
  2. Physical Layer: Different types of transmission media, errors in transmission: attenuation, noise. Repeaters. Encoding (NRZ, NRZI, Manchester, 4B/5B, etc.).
  3. MAC Layer: Aloha, CSMA, CSMA/CD, CSMA/CA protocols. Examples: Ethernet, including Gigabit Ethernet and WiFi (802.11). Time permitting, a quick exposure to Token Ring and to Bluetooth, WiMax may also be included.
  4. Data Link Layer: Error detection (Parity, CRC), Error correction (Hamming, LDPC codes), Sliding Window, Stop and Wait ARQ protocols.
  5. LAN: Design, specifications of popular technologies, switching. A student should be able to design LAN of a campus or a building.
  6. Network layer: Internet Protocol, IPv6, ARP, DHCP, ICMP, Routing algorithms: Distance vector, Link state, Metrics, Inter-domain routing. Subnetting, Classless addressing, Network Address Translation.
  7. Transport layer: UDP, TCP. Connection establishment and termination, sliding window revisited, flow and congestion control, timers, retransmission, TCP extensions, etc.
  8. Design issues in protocols at different layers.
  9. Network Programming: Socket Programming.
  10. Session, Presentation, and Application Layers. Examples: DNS, SMTP, IMAP, HTTP, etc.
  11. Network Security: Concepts of symmetric and asymmetric key cryptography. Sharing of symmetric keys – Diffie Hellman. Public Key Infrastructure. Public Key Authentication Protocols. Symmetric Key Authentication Protocols. Pretty Good Privacy (PGP), IPSec, Firewalls.

References

  1. AS Tanenbaum, DJ Wetherall, Computer Networks, 5th Ed., Prentice-Hall, 2010.
  2. JF Kurose, KW Ross, Computer Networking: A Top-Down Approach, 5th Ed., Addison-Wesley, 2009.

Announcements

  • First course handout [PDF]
  • Sign up for this course on Piazza
  • Sign up for this course on Gradescope
  • The scribing will be in a group of 4 students. Please send your group information by Sunday, Jan 5, 11:59 PM. Only one email from the group mentioning the names of the group members should be sent to me (swaprava@cse.iitk.ac.in) with cc to garima@cse.iitk.ac.in and sristij@cse.iitk.ac.in. Email with [CS425] in your subject line.
  • Three make-up classes on Mar 4, Mar 18, and Mar 25 respectively at 1830-2000 hrs (in KD101). These classes replace the classes of the correspondingly following Fridays.
  • Preliminary scribe assignment is done. Please check here before every class.
  • While submitting the scribed lectures, please put your .tex, .pdf, images and other relevant material in one folder, name the folder as lec02 (or whichever lecture you are scribing), make a .zip archive and send this file.
  • Assignment 1 is out. Supporting files: CRC input 1, input 2, output 1, output 2. The other question has input/output in the question itself. The deadline to submit is February 14, 2020, 23.59 hrs IST.
  • Assignment 1 submission link. You should put both codes (name them crc_checksum.x and hamming_code.x, where x can be py or c or cpp — this is important since we’ll be checking the code with those names) and one additional file README in one folder, name that folder with your roll number, make a .zip archive and upload via this link. Use the same credentials: Firstname, Lastname, Email id every time you upload an updated version. Suggestion: submit your final version only to minimize the number of re-uploading.
  • Midsem question with solutions. This is a reference, your solution may be different and will be graded accordingly.
  • Assignment 2 is out. Supporting files: input output pair. The deadline to submit is March 24, 2020, 23.59 hrs IST.
  • Assignment 2 submission link. You should put both codes (name them tree.x and backward.x, where x can be py or c or cpp — this is important since we’ll be checking the code with those names) and one additional file README in one folder, name that folder with your roll number, make a .zip archive and upload via this link. Use the same credentials: Firstname, Lastname, Email id every time you upload an updated version. Suggestion: submit your final version only to minimize the number of re-uploading.
  • May 21, 2020: Due to the rare event of COVID-19, assignment 2 now stands cancelled. However, it is recommended that you do this assignment for your own understanding.
  • May 21, 2020: The evaluation of this course will be based on all that has been evaluated before the semester was put on hold. The details are in the “Evaluation” section below. The e-resources comprising of lecture notes and videolectures will be made available within the time announced by the Senate.
  • June 2, 2020: According to the announcement of the institute, all videolectures are now available with the notes. The course formally ends here (sans the grading part, which will be done according to the schedule announced by DOAA).

Teaching Staff

Main instructor: Swaprava Nath (swaprava@cse.iitk.ac.in) — office hours: by appointment, mail with [CS425] in your subject line.
[it is highly recommended that you post your query either on Piazza before emailing the TAs or the Instructor]

Teaching Assistants

NameEmailOfficeOffice hours
Gufran Siddiquigufran@cse.iitk.ac.inC3I center, room E4Saturday, 4-5 PM
Kranti Kumar Parida kranti@cse.iitk.ac.inRM404Monday, 4-5 PM
Garima Shakyagarima@cse.iitk.ac.inRM504Tuesday, 4:30-5:30 PM
Ankurankur@cse.iitk.ac.inKD304Tuesday, 3-4 PM
Sristi Jaiswalsristij@cse.iitk.ac.inRM403Anytime with a prior intimation
Nilesh Uddhav Kothavadenileshk@cse.iitk.ac.inKD103Monday, 4-5 PM

Important Links / Information

  • Course webpage: (this) [link]
  • Discussion Forum: Piazza [link]
  • Grading Website: Gradescope [link]

Times and Venues

  • Lectures: Tuesdays and Fridays, 1400-1515 hrs at RM101 (CSE dept)

Course Schedule

Due to institute holidays and other academic reasons, we will have makeup lectures. The tentative schedule is as follows. We may need to update it from time to time.

Scribing

Here is the template for scribing the lectures.  Here and here are good introductions to LaTeX. You may use the IPE tool for drawing figures. Please email me the scribed lecture notes within 2 days of the class (first week scribes get one week’s time) — I’ll immediately put them on the course page as ‘draft’. Later when I review the notes, you may need to update the notes and resubmit. Less the update needed, better is the credit — so consider to do the first draft carefully.

While submitting the scribed lectures, please put your .tex, .pdf, images and other relevant material in one folder, name the folder as lec02 (or whichever lecture you are scribing), make a .zip archive and send this file.

Course Policies

Evaluation

The assessment of students taking this course shall be performed on the basis of performance in various components of the course.

COVID-19 update: the evaluation will be based on the scores of 1 assignment and the midsem exam now. Scribing had been good for every group till now, and all those groups got full marks. Hence, I’m awarding full marks for all the other groups too.

  • 10%: Scribing (in a group) everyone gets this now
  • 10% each: 4 assignments (individual) reduced to 1 assignment
  • 25%: Mid-sem Exam (scheduled by DoAA)counted as actual
  • 25%: End-sem Exam (scheduled by DoAA)

Regrading requests

The regrading procedures in Gradescope are intended to correct serious errors in grading. It is not intended as an opportunity to argue about each judgment call made by the graders. We will only consider a regrading request if there is a significant error in grading, and if you sincerely feel that your exam was unfairly graded, we will look it over carefully. Having said that, if there is an attempt to use this feature to raise an unnecessary regrading request, then based on the severity of the attempt, a penalty will be placed which can go as high as deducting 50% of the marks for that question (irrespective of what marks you got in that question). We are not trying to scare off students whose exams were graded incorrectly, but we are trying to avoid frivolous requests.

What Merits a Regrade: The following are the usual circumstances that may lead to an increase in points:

  • Your answer is really the same as the one on the answer key, but the grader didn’t realize it.
  • Your answer is different from the one provided on the answer key, but your answer is also correct.

What Doesn’t Merit a Regrade: The following are not valid reasons for regrades:

  • Most of what I wrote is correct, so I think I deserve more partial credit.”  
  • Partial credit is given equally for all students who write a particular answer, so it would not be fair to give you more points for this without adding points to all students who wrote the same answer. 
  • “I wrote so much, and the grader didn’t notice that the correct answer is buried somewhere within this long paragraph.”  
  • You will lose points if the correct answer is accompanied by incorrect information or by so much irrelevant information that it gives the impression that you were just writing down everything you could think of on this topic. To get full credit you must demonstrate the ability to pull out the relevant info and to exclude irrelevant info. 
  • “I’m just 1 point away from an A, so I thought it was worth scrounging around to find an extra point somewhere.”
  • Lobbying for grades is considered inappropriate by the institute rules, so your case may be reported to appropriate authorities.

Use of Unfair Means

The use of unfair means by any student would be severely punished, by means of grade deductions, F grade award, referral to institute disciplinary committees and more. The following document would be referred to while deciding the penalty imposed.

Department Anti-Cheating Policy [link]

Virtual Classroom

We will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from your classmates, the TAs, and the instructor. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza.

Class link