Mon and Wed 1:00 - 2:30 PM, GICT 237
Fri 9:00 - 11:00 PM. GICT 207
Shashi Prabh
GICT 125
Wed 3:00-4:00 PM, or by appointment
shashi.prabh @ ahduni
Operating systems, knowledge of programming in C
This is a first course on computer networks. The course provides a rigorous introduction to computer networks,
focusing on the principles, architectures, and protocols that underpin the modern Internet.
Students will study how networks are designed to be scalable and robust.
They will also learn the performance characteristics of networks and how these design goals are achieved through layered abstractions and well-defined protocols.
The course examines the Internet's protocol stack in depth, covering the physical, link, network, and transport layers,
with emphasis on core mechanisms such as addressing, routing, error control, congestion control, and end-to-end reliability.
Students will learn not only how networking protocols work, but why they are designed the way they are, and the trade-offs
involved in real-world systems.
Practical aspects of networking are integrated.
By the end of the course, students will be able to reason about network behavior, analyze protocol performance,
and build networked applications that interact directly with Internet protocols.
The course bridges theory and practice, preparing students to understand and engineer modern distributed and networked systems.
After successfully completing this course, students will be able to:
- Understand the fundamental concepts and principles of computer networking
- Utilize practical tools to observe, debug, and evaluate network behavior
- Design and implement networked applications using standard networking APIs
- Apply networking concepts to reason about scalability, reliability, and efficiency in real-world systems
Pay attention and take notes! Get doubts cleared during the lecture itself -- do not hesitate to ask
questions in class. Before attending a lecture, review your notes and scan the portion of the textbook
that
will be covered (see the course calendar page
here).
Do assignments on your own. If you happen to miss some
session(s), do talk to someone else who attended or the TA to find out the topics covered and any
announcement made. Spend 6-10 hours per week on the course.