Overview
The Internet is an exciting place with its many services that we, as
consumers, take for granted. But how does this global communication
infrastructure work? What principles did the Internet's designers follow to
implement a system that enables developers to build as easily atop it? What does
it take to build an Internet service and protocol that you could use yourself?
How do network operators and services ensure that they provide the best possible
user experience?
This course will provide students with a thorough understanding of the basic
principles of computer networks, the design philosophy of the Internet, and the
details of Internet protocols. Students who complete this course will be able to
describe in detail the operations of Internet protocols and develop their own
Internet applications. Through a series of lectures and programming projects,
students will find answers to the aforementioned questions.
Logistics
- Lecture times: Wed 10:20 -- 11:40 AM and Fri 3:20 -- 4:40 PM
- Lecture location: TIL 232 (Livingston campus)
- Office hours: Thu 10:00 -- 12:00 AM
- Office location: CoRE 312 (Busch campus)
- Instructor name: Srinivas
Narayana
- Instructor contact: srinivas.narayana@rutgers.edu
Recitation sections
This course has two recitation sections.
Section 5:
- Recitation instructor: Bala Murali Komanduri
- Recitation instructor contact: bk455@scarletmail.rutgers.edu
- Recitation time: Thu 12.15 -- 1.10 PM
- Recitation location: LSH-B267 (Livingston campus)
- Office hours: Fri 12.15 -- 1.15 PM
- Office hours location: CoRE 246 (Busch campus)
Section 6:
- Recitation instructor: Jayant Kannadkar
- Recitation instructor contact: jdk176@scarletmail.rutgers.edu
- Recitation time: Thu 8.55 – 9.50 AM
- Recitation location: LSH-B115 (Livingston campus)
- Office hours: Thu 12.30 -- 1.30 PM
- Office hours location: Hill 264A (Busch campus)
Schedule and Course slides
The full schedule of lectures, quizzes, projects, and mid-terms is available on
the
syllabus page.
Grading policies
You will be assessed based on the criteria mentioned in the assessments page.
You are expected to follow the Computer Science Department's academic
integrity policy for all your work for this course. Please read and
acknowledge this policy. Ignorance of these terms is not allowable as an
excuse for violating them.
Prerequisites
The prerequisite for CS 352 is Computer Architecture (CS 211). System
Programming (CS 214), while not a prerequisite, is strongly recommended.
Questions?
The course has a
Piazza page
accessible through the Sakai system.
Acknowledgments
Many thanks to Dave Andersen and Nick Feamster for their
coursegen software. We
have borrowed slide contents heavily from Professor Badri Nath's
similar course
offering and
slides from the authors
of the course textbook. Slides from the textbook authors are copyright
(1996--2016) of J.F.Kurose and K.W.Ross.