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:
- Architectural principles of computer networking;
- Design principles for achieving reliability, scalability, efficiency and security;
- Core mechanisms and protocols for addressing, routing, forwarding and congestion control.
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.
Monday and Wednesday, 7:30PM-8:45PM, Bailey Hall 101, Zoom.
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.
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.
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.
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 "Secure, Private Channel to Staff" email below 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.
Your course grade will be based on in-class surprise quizzes, two prelims, one final exam and filling out course evaluations. We will update this after the first week of classes to reflect how different components contribute to your final grade. There will be six problem sets and four projects during the course, but these will not be graded. We will provide solutions and help with all problem sets and projects, though. See the administration page for more details.
Meeting Prof. Agarwal:
If you cannot make the office hours, Prof. Agarwal will find time to meet you off-hours. 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 --- asking technical questions over emails is the easiest way for what is called a denial-of-service attack (the attacker, you :-), could send a one-liner email while the server, Prof. Agarwal, will spend hours drafting page-long answer). To avoid such attacks, Prof. Agarwal encourages you to meet him in person. The best way to reach Prof. Agarwal is e-mail; see contact details.
You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let Rachit know so that the issue can be addressed. Rachit is personally committed to this, and subscribes to the Computer Science Department’s Values of Inclusion.
Secure, Private Channel to Staff:
Please use the following email to request LOST sessions: firstname.lastname@example.org.