15-441, Spring 2010: Computer Networks

Latest Announcements

5/2/2010: Yet another final exam sample, this time with solutions
Sample exam from spring 2009 is here!
5/2/2010: Final exam sample
Sample exam from spring 2008 is here!
4/22/2010: Final review session May 2nd GHC 4215 5-7PM
Choose your favorite review session style here!

See all announcements RSS XML logoRSS 2.0 feed


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.


Because this course has a big project component, you must be proficient in C programming on UNIX systems. It is required that you have taken 15-213 and gotten a "C-" or higher since many of the programming skills you will need are taught in that course.

Course Staff

Teaching Asistants

NameEmailOfficeOffice Hours
Kaushik Lakshminarayanan GHC 7223 Thu 4:00 - 5:00pm
Rui Meireles GHC 7715 Tue 3:00 - 4:00pm
Daegun Won West Wing Cluster Fri 3:30 - 4:30pm


Seth Goldstein GHC 7111 268-3828 Wed 1:00 - 2:00pm
Srinivasan Seshan GHC 8123 268-8734 Mon 9:00 - 10:00am

Course Secretary

Angela Miller, , GHC 9118, Tel: 412-268-6645

Course Policies


Students are encouraged to talk to each other, to the TAs, to the instructors, or to anyone else about any of the assignments. Any assistance, though, must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write out his or her own solutions to the homework. The project handouts have more detailed information about collaboration when working on the projects, but, basically, each programming project group must write their own code and documentation for the programming projects done as a group.

Consulting another student's or group's solution is prohibited, and submitted solutions may not be copied from any source. These and any other form of collaboration on assignments constitute cheating. If you have any question about whether some activity would constitute cheating, please feel free to ask the instructors.

You may not supply work that you complete during 15-441 to other students in future instances of this course or for use in future instances of this course (just as you may not use work completed by students who've taken the course previously).

Late Policy

Take project and homework deadlines seriously. Our experience is that students often seriously underestimate the effort involved in programming assignments and projects. If we give you 4 weeks to complete an assignment, there is typically a reason. In the interest of fairness, we have adopted the following late policy:


If you think we made a mistake in grading, please return the assignment with a note explaining your concern to the course secretary no later than two weeks after the day the assignment was returned. We will have the question re-graded by the person responsible for grading that question.

Partner Problems

Please try to avoid having partner problems. Seriously! Share your hopes before they turn into concerns, your concerns before they have problems, and your problems before they inflate into crises.

Also, in order for the course staff to help you and your partner work through issues, or for us to provide an appropriate response to serious partner problems, you must contact us well before the relevant due date! While some problems can never be truly solved, it is likely that your career after CMU will you to sometimes "involve management" to address issues with co-workers, and will certainly require you to work out all sorts of problems with your co-workers. If you find yourself in a situation which you can't resolve, it will provide you with an opportunity to practice interacting with management.

A special case to avoid is coming to us a day or two before a major deadline to tell us that your partner has been ill (etc.) for multiple weeks. We, and thus you, have many more options if you inform us while a problem is developing, instead of after the fact.


Last updated: Sun May 02 19:31:40 -0400 2010 [validate xhtml]