15-441/641 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, one midterm exam, and one final exam.


"Introduction to Computer Systems" is a prerequisite for the course. It is offered under the following course numbers: 15-213, 18-213, and 15-513. Graduate students must get a B to satisfy the prerequisite. Students who have taken the prerequisite course at CMU get priority when we move students from the waiting list.

Once students who meet the prerequisites have been cleared, we will consider students with a strong systems background. These decisions will be made in the first or second week of the semester. Do not send mail to the instructors about this (e.g., explaining your background) - it will not help your case.

Course Staff


NameEmailOfficeOffice Hours
Prof Peter Steenkiste GHC 9111 Mondays, 11am-12pm & Wednesdays, 1-2pm
Christopher Canel GHC 9009 Fridays, 3-4pm

Teaching Assistants

NameEmailOfficeOffice Hours
Shawn Chen GHC 7113 Tuesdays, 10-11am @ GHC 7101 & Thursdays, 1:20-1:50pm @ GHC 7501
Oliver Li GHC 9126 Wednesdays, 3-5pm
Nathan Walker GHC 5th Floor Commons, Table 2 Mondays, 4:30-5:30pm
Art Zhu GHC 5th Floor Commons, Table 1 Tuesdays, 7-8pm

Course Administrator

Mrs. Tracy Farbacher