15-441 is an introductory course in computer networks. The emphasis will be on the basic performance and engineering tradeoffs in the design and implementation of computer networks. To make the issues more concrete, the class includes several multi-week projects requiring significant design and implementation.
The goal is for students 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. We will draw examples primarily from the Internet. Topics to be covered include: congestion/flow/error control, routing, addressing, naming, multi-casting, switching, internetworking, and network security. Evaluation is based on homework assignments, the projects, and two mid-term exams.
The course will be similar in terms of prerequisites, curriculum, and projects to earlier versions of the course, for example, as offered in Fall 2012 and Fall 2010. One change is that we plan to reduce the material covering the lower layers of the protocol stack somewhat in favor of material on how today's applications and service make use of various Internet technologies to optimize quality, performance, scalability, security, etc. We also expect some changes in the project.
Lectures will be held Tuesday and Thursday, 1:30-2:50, in BF 136A. Recitions will be Friday, noon-1:20, in GHC 9115. Note that we will not have recitations every week.
A more detailed web page will be posted closer to the start of the semester.