Computer networks are considered as one of the most important and influential infrastructures that exist today (imagine what the world would be like if there were no Internet!). And yet, after 50 years of Internet success, communication networks continue to evolve in size, complexity and functionality with increasingly stringent demand on robustness, scalability, efficiency, flexibility and security. CS4450 is an undergraduate level course covering the fundamental concepts of computer networking:

My goals for you in this course are to learn not only what computer networks are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future.

Inclusiveness:

You belong here, and we are here to help you learn and enjoy this course. We strive to make CS4450 a welcoming, inclusive, respectful, and supportive environment, consistent with Cornell's Computer Science Department's Values of Inclusion. If you witness something that goes counter to a supportive and inclusive environment, please let Prof. Agarwal know so that the issue can be addressed.

Lectures:

Monday and Wednesday, 2:55PM--4:10PM, klarman Hall KG70.

Ed Discussions:

https://edstem.org/us/courses/74868/discussion

Communication

  • All enrollment related questions should be sent to courses@cis.cornell.edu.
  • The course staff will answer all questions related to course organization and technical material only over Ed Discussion (no emails).
  • For non-technical sensitive matters, please email cs4450-prof@cornell.edu. Emails to any other address may not be answered.
  • Please do not contact any course staff or instructors via their email addresses, facebook, texting, etc. for matters concerning this course.

Prerequisite:

The recommended prerequisite is CS4410, but it is not necessary. This is a 4000-level level course; so, we expect you to know material from the programming, data structures and algorithms courses. In terms of mathematics, your algebra should be very solid, you need to know basic probability stuff, and you should be comfortable with thinking abstractly. We assume that you either know the material covered in those courses, or are willing to learn the material as necessary.

Textbook:

Computer Networks: A Systems Approach (5th edition), by Larry Peterson and Bruce Davie. Using the 4th edition is completely alright, though the chapter/section and the corresponding content may be different. While the class has a textbook, we will not follow its order of presentation; instead, we will use the textbook as a reference when covering each individual topic. An e-version of the book is available at Cornell Library website.

Advanced Readings:

There will be "advanced reading" material for several topics in the class. These readings are not compulsory. If your curiosity gets the better of you, go ahead and dive deeper into the topic using these advanced readings. Any material in advanced readings that is not covered in the class will not be in quizzes or exams.

LOST sessions:

We understand that sometimes students lose track of a course for various reasons (health, travel, personal problems, etc.) and spend the remainder of the semester catching up. We are here to help you in such scenarios. We will organize LOST sessions, where one of the TAs will spend 1-1 time with you and help you understand material that you may have missed for any of the above reasons -- no questions asked. Please use the cs4450-prof@cornell.edu email to request personalized LOST session at any time. Since the goal of LOST sessions is to help students get back on track in time and not to provide every student a personal TA, there will be no LOST sessions one week prior to the prelim and two weeks prior to the final.

Grading:

Your course grade will be based on in-class surprise quizzes, two prelims, one final exam and filling out course evaluations. See the administration page for more details.

Course Staff:

Office Hours:

Meeting Prof. Agarwal:

If you cannot make the office hours, Prof. Agarwal will find time to meet you at other times. The best way to reach Prof. Agarwal is e-mail; see contact details. If you are requesting a meeting outside office hours, your first email should provide your availability for the next 7 days, and the reasons for requesting the meeting. You should never hesitate to ask for an appointment from him, either for discussing the course material or any other related issues. However, you must not use email for asking technical questions.