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] |
9.1 | |
Tue 01/29 | Steenkiste | Physical Layer, Link Layer Basics [pdf] [ppt] [Video 1] |
2.1-2.5 | |
Wed 01/30 | TTBD | Makefiles and Project 1 Q& A [pdf] [ppt] |
||
Thu 01/31 | PRS | Switching & Flow Control [pdf] [ppt] [Video 1] |
2.6-2.10 | |
Tue 02/05 | PRS | Ethernet [pdf] [ppt] [Video 1] |
3.1-3.2 | |
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] |
4.4 | |
Wed 02/20 | TBD | Automation |
Time to learn Ruby! | |
Thu 02/21 | PRS | Routing: BGP [pdf] [Video 1] |
4.3 | |
Tue 02/26 | PRS | DNS [pdf] [ppt] [Video 1] |
9.1 | |
Wed 02/27 | TBD | Midterm exam review and QA |
||
Thu 02/28 | PRS | IPv6, tunneling, NAT, VPN, etc. [pdf] [ppt] [Video 1] |
3.3-3.5 | |
Tue 03/04 | DGA | Virtual circuits, ATM, MPLS [pdf] [ppt] [Video 1] |
4.4-4.6 | |
Wed 03/05 | No recitation |
(study for the midterm) | ||
Thu 03/06 | DGA/PRS | MIDTERM EXAM |
||
Tue 03/11 | Spring Break |
|||
Thu 03/13 | Spring Break |
|||
Tue 03/18 | DGA | Transport Intro [pdf] [ppt] [Video 1] |
5.1-5.5 | |
Wed 03/19 | TBD | IRC Project Post-Mortem |
Bring out your dead! | |
Thu 03/20 | DGA | TCP & Congestion Control [pdf] [ppt] [Video 1] |
5.2 | |
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] |
9.4 | |
Wed 04/02 | TBD | Congestion Control & Project 2 |
||
Thu 04/03 | DGA | P2P [pdf] [ppt] [Video 1] |
9.4 | |
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] |
8.3-8.5 | |
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] |
8.1-8.2 | |
Thu 04/24 | Xi | Wireless neworks, ad-hoc wireless, and sensor networks [pdf] [ppt] [Video 1] |
2.8 | |
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]