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, ensuring familiarity with socket programming. Project 2 will build upon your IRC server from project 1 implementing routing protocols within the application. Project 3 will focus on file transfers and the protocol components necessary for efficient and reliable file transfer (retransmission, congestion control, caching, etc.) Project 1 is a solo project; projects 2 and 3 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 08/26 dga Introduction
[pdf] [ppt] [Video 1]
Chapter 1
Wed 08/27 First week of class, no recitation
Thu 08/28 dga Protocol Stacks and Layering
[pdf] [ppt] [Video 1]
Optional: End to End Arguments in System Design
Tue 09/02 seth Sockets programming
[pdf] [ppt] [Video 1] [Video 2]
Project 1 IRC server Assigned
Wed 09/03 dga Recitation Intro: Overview, version control
[pdf] [ppt]
See Revision Control chapter of systems-se.
Also see the online Subversion book.
Thu 09/04 dga Application Layer Examples
[pdf] [ppt] [Video 1]
Tue 09/09 seth Physical Layer, Link Layer Basics
[pdf] [ppt] [Video 1]
Project 1 checkpoint 1 (version control basics) due 2.1-2.5
Wed 09/10 TA Makefiles and Project 1 Q& A
[pdf] [ppt]
Thu 09/11 seth Switching & Flow Control
[pdf] [ppt] [Video 1]
Tue 09/16 dga Ethernet
[pdf] [ppt] [Video 1]
Project 1 checkpoint 2 due 3.1-3.2
Wed 09/17 TA Design: Modularity and Testability
[pdf] [ppt]
Thu 09/18 dga Switching and Bridging up to IP
[pdf] [ppt] [Video 1]
Homework 1 due. Video now fairly out of date. 4.1
Tue 09/23 dga IP Protocol and Routers
[pdf] [Video 1]
Wed 09/24 TA Debugging
Techniques and tools. Files: debug macro .
See Debugging chapter of systems-se.
Thu 09/25 dga Routing overview and distance vector
[pdf] [Video 1]
Project 1 IRC server Due. 4.2
Tue 09/30 dga Link state and Multicast
[pdf] [Video 1]
Wed 10/01 TA Automation
[pdf] [ppt]
Time to learn Ruby!
Thu 10/02 dga Routing: BGP
[pdf] [Video 1]
Tue 10/07 seth DNS
[pdf] [ppt] [Video 1]
Wed 10/08 TA Midterm exam review and QA
Thu 10/09 dga IPv6, tunneling, NAT, VPN, etc.
[pdf] [ppt] [Video 1]
Project 2 Checkpoint 1 Due 3.3-3.5
Tue 10/14 dga Virtual circuits, ATM, MPLS
[pdf] [ppt] [Video 1]
Wed 10/15 No recitation
(study for the midterm)
Thu 10/16 dga/seth MIDTERM EXAM
Tue 10/21 seth Transport Intro
[pdf] [ppt] [Video 1]
Wed 10/22 TA IRC Project Post-Mortem
Bring out your dead!
Thu 10/23 seth TCP & Congestion Control
[pdf] [ppt] [Video 1]
Project 2 Checkpoint 2 Due 5.2
Tue 10/28 seth More TCP & Congestion Control
[pdf] [ppt] [Video 1]
Project 2 IRC Routing Due 6.1-6.3
Wed 10/29 TA Going through the exam and project 2 Q and A
Thu 10/30 seth TCP Performance
[pdf] [ppt] [Video 1]
Project 2 Final Due 6.4
Tue 11/04 seth Web + CDNs + Caching
[pdf] [ppt] [Video 1] [Video 2]
Wed 11/05 TA Project 3 Discussion
Thu 11/06 dga P2P
[pdf] [ppt] [Video 1]
Tue 11/11 dga Router queueing and QoS
[pdf] [ppt] [Video 1]
6.5, 7.2, 9.3
Wed 11/12 TA P2P Research and Advanced Topics
Thu 11/13 dga Mobile Networking (IP & TCP)
[pdf] [ppt] [Video 1]
2.8, 4.2.5
Tue 11/18 seth Security - firewalls, DoS, etc.
[pdf] [ppt] [Video 1]
Wed 11/19 TA bittorrent optimizations for project 3 contest
Thu 11/20 seth Security - Cryptography, and SSL
[pdf] [ppt]
Tue 11/25 Thanksgiving Holiday
Wed 11/26 Thanksgiving Holiday
Thu 11/27 Thanksgiving Holiday
Tue 12/02 seth Wireless neworks, ad-hoc wireless, and sensor networks
[pdf] [ppt]
Thu 12/04 seth Class Review
Wed 12/10 TAs Final Review, Wean 7500, 7-9pm
Fri 12/12 dga/seth FINAL EXAM. 8:30 - 11:30am on Friday. Rooms PH A18B, PH A18C

Last updated: Sun Dec 07 20:19:40 -0500 2008 [validate xhtml]