CS-306: Computer Networks, Spring 2019

Instructor: Prof. Neminath Hubballi (neminath@iiti.ac.in)
TAs: Namrata Tiwari and Neha Sharma


This course introduces computer networks design principles, history, and applications to the students. Students will learn the important concepts like routing, end-to-end communication, structures, and components of networks. It will also give practical exposure through programming assignments and tutorials.



Module Week Lessons/Topics
Module-1 Week 1 History of Computer Networking, Network Architecture and Protocols.
Circuit Switching and Packet Switching.
Network Performance Metrics: Throughput and Delay.
Week 2 Layered Architecture: ISO and TCP/IP Layers
Week 3 Application Layer Protocols : HTTP, DNS, FTP
Assignment-1
Week 4 Application Layer Protocols: Content Delivery Networks, SMTP, P2P, etc.,
Quiz-1
Module-2 Week 5 Transport Layer– Service Requirements and Design Philosophy, User Datagram Protocol, Socket Programming
Week 6 Reliable Data Transfer Issues, Connection Oriented End-to-End Communication, Transmission Control Protocol, Socket Programming
Mid Sem Exam
Week 7 Congestion Control and Flow Control Methods
Assignment-2
Module-3 Week 8 Network Layer: IP Protocol, Addressing, Routing and Forwarding
Week 9 Routing Algorithms: Link State and Distance Vector Routing Algorithms
Quiz-2
Week 10 Border Gateway Protocol, Internet Control Message Protocol
Assignment-3
Module-4 Week 11 Link Layer: Services, Error Detection and Correction, Multiple Access Links and Protocols
Assignment-4
Week 12 Link Layer Addressing and Protocols: Ethernet, VLANs Physical Layer Overview
End Sem Exam