Welcome to the Computer Networks course! Through the assignments of this course, you will gain hands-on experience with real-world network programming. You will write a program that allows your computer to communicate with another, be it across the room or across the world. You will program a router to deliver information to the right destination in a network with thousands of nodes. You will learn how decisions made by protocol designers and network administrators affect Internet performance. You will learn how to analyze data from the network to detect security threats and learn how to prevent them.
The programming assignments are designed to be challenging but manageable in the time allotted. If you have questions, want to suggest clarifications, or are struggling with any of the assignments this semester, please come to office hours or ask questions on Piazza.
Unless stated otherwise, the assignments are not group assignments. You are not allowed to copy or look at code from other students. However, you are welcome to discuss the assignments with other students without sharing code.
Good luck.