CS 641 (Advanced) Computer Networks

Autumn 2015

Lectures: Slot 6 (Wed, Fri. 11:05 am - 12:30 pm). F.C.Kohli Auditorium, KReSIT.

Instructor: Mythili Vutukuru (mythili @ cse.iitb.ac.in)

Instructor Office Hours: By appointment (please send email to fix up a time).

TAs: Priyanka Naik (ppnaik@cse), N S Sadagoppan (nss@cse), Stanly Thomas (stanly@cse), Hiren Patel (hirenp@cse), Vidya Sagar Kushwaha (vskushwaha@cse)

TA Office Hours: Wednesdays 5-6 pm, Circular Hall (4th floor, KReSIT)

  • Endsem: Nov 21, 9:30-12:30, LA301&302. You are allowed two A4-sized hand-written cheatsheets.

Course Overview

This is a PG elective course, primarily for first year PG students who have an interest in the field of computer networking, and have taken an undergraduate networking course. We will cover introductory and advanced topics in the area of computer networks. The course will consist of lectures, programming assignments, reading assignments, a mid-semester exam, and an end-semester exam.

Topics Grading

Auditing: I expect some effort and commitment from students auditing the course. Therefore I require that you appear for all the quizzes and exams in the course. You are not required to turn in the programming assignments or the term paper. Of course, you are welcome to do more, but you must meet this minimum requirement.

Textbooks: You may find the following textbooks useful to better understand the concepts taught in class, and for practice exercises. The course roughly follows the content structure of the textbook by Kurose and Ross. Additional references in the form of research papers or articles are provided against each lecture in the schedule below, if you want to learn more about a particular topic.


Lecture# Date Topic Notes Announcements References
1 Jul 22 (Wed) Introduction. Course logistics. Layering abstraction. Network architecture and protocols. Packet swtiching. lec01.txt Term paper information.
2 Jul 24 (Fri) Performance of networks: delay and throughput. lec02.txt
3 Jul 29 (Wed) Application layer: HTTP and other protocols. lec03.txt
4 Jul 31 (Fri) Socket programming. lec04.txt Programming Assignment 1 (PA1)
5 Aug 5 (Wed) DNS, HTTP transport: recent developments. lec05.txt
6 Aug 7 (Fri) P2P, wrap-up application layer. lec06.txt Quiz 1
7 Aug 12 (Wed) Transport layer: introduction. lec07.txt
8 Aug 14 (Fri) TCP congestion control (continued). lec08.txt PA1 due
PA1 written test
9 Aug 19 (Wed) Analysis of TCP. lec09.txt Programming Assignment 2 (PA2)
10 Aug 21 (Fri) TCP implementation details, multipath TCP. lec10.txt
11 Aug 26 (Wed) QoS and fairness, traffic shaping. lec11.txt Quiz 2
12 Aug 28 (Fri) Router scheduling algorithms. lec12.txt
13 Sep 2 (Wed) Network layer: introduction. lec13.txt
Sep 4 (Fri) Midsem review. PA2 due
PA2 written test
Sep 16 (Wed) Midsem paper discussion + network/IP layer introduction (continued from lecture 13).
14 Sep 18 (Fri) Linux IP networking, advanced topics in IP. lec14.txt Programming Assignment 3 (PA3)
15 Sep 23 (Wed) IP and MPLS Routers: Guest lecture by Prof. Ashwin Gumaste.
16 Sep 30 (Wed) Router architectures, MPLS, routing protocols. lec16.txt
17 Oct 7 (Wed) BGP: introduction. lec17.txt
18 Oct 9 (Fri) BGP: advanced topics. lec18.txt
19 Oct 14 (Wed) Link layer: introduction lec19.txt Quiz 3
20 Oct 16 (Fri) Practical topics: network and link layers. lec20.txt PA3 due
PA3 written test
21 Oct 21 (Wed) Datacenter networking (part 1). lec21.txt
22 Oct 23 (Fri) Datacenter networking (part 2): Guest lecture by Prof. Ashwin Gumaste. See here for the papers discussed during this lecture.
23 Oct 28 (Wed) Software defined networking. lec23.txt
24 Oct 30 (Wed) Networking and Virtualization. lec24.txt
25 Nov 4 (Web) More recent topics in networking and systems. lec25.txt See here for the papers discussed during this lecture.
Nov 6 (Fri) Endsem review. Term paper due