15-441: Computer Networks Syllabus


The required textbook for the course is Computer Networks: A Systems Approach, fourth edition, by Larry Peterson and Bruce Davie. It is available in the CMU Bookstore. Almost all the material that we will cover is in the textbook.

For the recitations, please see Dave's Notes on Software Engineering for Systems Hackers.

There are a few recommended texts which are useful references (especially if networking becomes your career). You can get the best price on them by ordering from an on-line bookstore.

Finally, if you have not taken 15-213, you may find its textbook useful as a gentle, software-focused introduction to computer architecture.


This semester we will again have recitations for 15-441. Please select one recitation section to attend (the content will be identical). Recitations will cover systems hacking techniques designed to save you time and pain on the projects, will go into more detail about certain topics such as TCP, and will have review sessions before exams.


Your final grade for the course will be based on the following weights for the individual assignments:

The midterm will be an in-class, closed-book exam, covering all material up to that point in the course. The final exam will be a closed-book exam, covering m aterial from the whole year, with emphasis on the second half of the course.

Project 1 will focus on the implementation of an IRC-like chat server, focusing first on ensuring familiarity with socket programming, and second on an implementation of routing protocols within the application. Project 2 will focus on file transfers and the protocol components necessary for efficient and reliable file transfer (retransmission, congestion control, caching, etc.) All projects are to be done in groups of two students.

The homework will combine both textbook-like questions as well as hands-on experimental exercises. There will be three homework assignments.

Because of the importance of understanding both the theoretical and hands-on elements of networking, students must pass all three components of the course (homeworks, exams, and the projects) in order to receive a passing grade for the course. This does not affect the actual letter grade assignment unless one of the components is not completed to a passing standard.


Also available as an ical file that you can subscribe to. Note that the video links are from Spring 2005 and are provided as a "best match" to the specified lecture, in the hope that they might be useful for review.

Date Instructor Topics Notes Readings
Tue 01/15 DGA Introduction
[pdf] [ppt] [Video 1]
Chapter 1
Wed 01/16 First week of class, no recitation
Thu 01/17 DGA Protocol Stacks and Layering
[pdf] [ppt] [Video 1]
Project 1 IRC server Assigned Optional: End to End Arguments in System Design
Tue 01/22 Xi Liu Sockets programming
[pdf] [ppt] [Video 1] [Video 2]
Wed 01/23 DGA Recitation Intro: Overview, version control
[pdf] [ppt]
See Revision Control chapter of systems-se.
Also see the online Subversion book.
Thu 01/24 DGA Application Layer Examples
[pdf] [ppt] [Video 1]
Tue 01/29 Steenkiste Physical Layer, Link Layer Basics
[pdf] [ppt] [Video 1]
Wed 01/30 TTBD Makefiles and Project 1 Q& A
[pdf] [ppt]
Thu 01/31 PRS Switching & Flow Control
[pdf] [ppt] [Video 1]
Tue 02/05 PRS Ethernet
[pdf] [ppt] [Video 1]
Wed 02/06 DGA Design: Modularity and Testability
[pdf] [ppt]
You ain't heard it like this before
Thu 02/07 PRS IP forwarding and addressing
[pdf] [Video 1]
Homework 1 due 4.1
Tue 02/12 PRS IP Protocol and Routers
[pdf] [Video 1]
Project 1 IRC server Due 4.3
Wed 02/13 TBD Debugging
[pdf] [ppt]
Techniques and tools. Files: debug macro .
See Debugging chapter of systems-se.
Thu 02/14 PRS Routing overview and distance vector
[pdf] [Video 1]
Project 2 IRC Routing Assigned 4.2
Tue 02/19 PRS Links state and Multicast
[pdf] [Video 1]
Wed 02/20 TBD Automation
Time to learn Ruby!
Thu 02/21 PRS Routing: BGP
[pdf] [Video 1]
Tue 02/26 PRS DNS
[pdf] [ppt] [Video 1]
Wed 02/27 TBD Midterm exam review and QA
Thu 02/28 PRS IPv6, tunneling, NAT, VPN, etc.
[pdf] [ppt] [Video 1]
Tue 03/04 DGA Virtual circuits, ATM, MPLS
[pdf] [ppt] [Video 1]
Wed 03/05 No recitation
(study for the midterm)
Tue 03/11 Spring Break
Thu 03/13 Spring Break
Tue 03/18 DGA Transport Intro
[pdf] [ppt] [Video 1]
Wed 03/19 TBD IRC Project Post-Mortem
Bring out your dead!
Thu 03/20 DGA TCP & Congestion Control
[pdf] [ppt] [Video 1]
Tue 03/25 DGA More TCP & Congestion Control
[pdf] [ppt] [Video 1]
Project 2 IRC Routing Due 6.1-6.3
Wed 03/26 TBD Project 3 Overview and Q & A
Thu 03/27 DGA TCP Performance
[pdf] [ppt] [Video 1]
Project 3 P2P Assigned 6.4
Tue 04/01 DGA Web + CDNs + Caching
[pdf] [ppt] [Video 1] [Video 2]
Wed 04/02 TBD Congestion Control & Project 2
Thu 04/03 DGA P2P
[pdf] [ppt] [Video 1]
Tue 04/08 DGA Router queueing and QoS
[pdf] [ppt] [Video 1]
6.5, 7.2, 9.3
Wed 04/09 TBD P2P Research and Advanced Topics
Thu 04/10 DGA Mobile Networking (IP & TCP)
[pdf] [ppt] [Video 1]
2.8, 4.2.5
Tue 04/15 Xin Security - firewalls, DoS, etc.
[pdf] [ppt] [Video 1]
Wed 04/16 TBD bittorrent optimizations for project 3 contest
Thu 04/17 Spring Carnival
Tue 04/22 DGA Security - Cryptography, and SSL
[pdf] [ppt] [Video 1]
Thu 04/24 Xi Wireless neworks, ad-hoc wireless, and sensor networks
[pdf] [ppt] [Video 1]
Tue 04/29 PRS Networking Futures
[pdf] [ppt]
Thu 05/01 DGA Class Review
Project 3 P2P Due
Thu 05/08 DGA/PRS FINAL EXAM. 8:30 - 11:30am on Thursday. ROOM DH 2315.
Fri 05/09 DGA/PRS Make-up exam (you know who you are)

Last updated: Mon May 05 15:16:23 EDT 2008 [validate xhtml]