15-441: Computer Networks Syllabus

Textbooks

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.

Recitations

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.

Grading

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.

Schedule

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/12 SS Introduction
[pdf] [ppt]
Thu 01/14 SS Protocol Stacks and Layering
[pdf] [ppt] [Video 1]
Readings End to End Arguments in System Design and Internet Protocols Design Philosophy.
Fri 01/15 TAs Recitation: Socket programming
[pdf] [ppt]
Tue 01/19 SG Application Layer Examples
[pdf] [ppt] [Video 1]
Project 1 IRC server Assigned 9.1
Thu 01/21 SG Physical Layer
[pdf] [ppt] [Video 1]
2.1-2.5
Fri 01/22 TA Version Control and Makefiles
[pdf] [ppt]
See Revision Control chapter of systems-se.
Also see the online Subversion book.
Tue 01/26 SS Coding and error control
[pdf] [ppt] [Video 1]
Project 1 checkpoint 1 (version control basics) due 2.6-2.10
Thu 01/28 SG Datalink and ethernet
[pdf] [ppt] [Video 1]
3.1-3.2
Fri 01/29 TA Sockets & Concurrency and Project 1 Q& A
[pdf] [ppt]
Tue 02/02 SG Bridging, Addressing and Forwarding
[pdf] [ppt]
Thu 02/04 SG IP addressing and packets
[pdf] [ppt] [Video 1]
Project 1 checkpoint 2 due, Homework 1 due 4.1
Fri 02/05 TA Debugging in the Real World
[pdf] [ppt]
Tue 02/09 weather cancellation
Thu 02/11 SS IPv6 and NAT
[pdf] [ppt] [Video 1]
4.3
Fri 02/12 TA Automation and Ruby
[pdf] [ppt]
Tue 02/16 KL Intra-Domain Routing
[pdf] [ppt] [Video 1]
Project 1 IRC server Due. 4.2
Thu 02/18 SS Routing: BGP
[pdf] [ppt] [Video 1]
4.4
Fri 02/19 TA Project 1 Wrapup, Project 2 Intro
[ppt]
Tue 02/23 PRS Virtual circuits, ATM, MPLS
[pdf] [ppt] [Video 1]
Homework 2 Due 4.4-4.6, 9.1
Thu 02/25 SS DNS
[pdf] [Video 1]
4.3
Fri 02/26 TA Midterm exam review and QA
[ppt]
Sample midterm from S2009
Mon 03/01
Project 2 Checkpoint 1 Due
Tue 03/02 SG Router Design
[pdf] [ppt] [Video 1]
3.3-3.5
Thu 03/04 SG/SS MIDTERM EXAM
Fri 03/05 Spring break
Tue 03/09 Spring break
Thu 03/11 Spring break
Fri 03/12 Spring break
Tue 03/16 SS Transport Intro
[pdf] [Video 1]
Animations for the next few lectures 5.1-5.5
Thu 03/18 SS TCP & Congestion Control
[pdf] [ppt] [Video 1]
5.2
Fri 03/19 TA Project 1 grading and Midterm review
[pdf] [ppt]
Project 2 Checkpoint 2 Due
Tue 03/23 SS More TCP & Congestion Control
[pdf] [ppt]
Homework 3 due 6.1-6.3
Thu 03/25 SS TCP Performance
[pdf] [ppt] [Video 1]
Project 2 Final Due 6.4
Fri 03/26 TA (NO RECITATION) Additional office hour for Project 2
Tue 03/30 SG VoIP, video, multimedia
Helpful references Silver Needle in the Skype and An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. 9.4
Thu 04/01 SG QoS
[pdf] [ppt] [Video 1]
Project 3 assigned 6.5, 7.2, 9.3
Fri 04/02 TA Project 3 Overview
[pdf] [ppt]
Tue 04/06 SG Web + CDNs + Caching
[pdf] [ppt] [Video 1] [Video 2]
Homework 4 out 9.4
Thu 04/08 class canceled
Fri 04/09 TA Project 3 flow and congestion control
[pdf] [ppt]
Project 3 Checkpoint 1 Due
Tue 04/13 SG P2P
[pdf] [ppt] [Video 1]
Project 3 Checkpoint 2 Due 9.4
Thu 04/15 Spring Carnival
Fri 04/16 Spring Carnival
Mon 04/19
Project 3 Checkpoint 3 Due
Tue 04/20 SS Mobile Networking (IP & TCP)
[pdf] [ppt] [Video 1]
2.8, 4.2.5
Thu 04/22 Rui Ad-Hoc Wireless Networks
[pdf] [ppt] [Video 1]
2.8
Fri 04/23 TA optimizations for project 3 contest
[pdf] [ppt]
Project 3 Checkpoint 4 Due
Tue 04/27 SG Security
[pdf] [ppt] [Video 1]
Project 3 Early bird deadline 8.1-8.5
Thu 04/29 SG Class Review
[pdf] [Video 1]
Homework 4 Due
Fri 04/30 TAs (NO RECITATION)
Project 3 Due!
Sun 05/02 TAs Final Review, GHC 4215, 5-7PM
Choose your favorite review session style here!
Tue 05/04 SG/SS Final exam

Last updated: Thu Apr 29 20:15:26 -0400 2010 [validate xhtml]