COS 461, Princeton University Spring 2015
This course studies computer networks and the services built on top of them. Topics include packet switching, routing and flow control, congestion control and quality-of-service, Internet protocols (IP, TCP, BGP), network security, network management, software defined networking, and the design of network services (multimedia, file and web servers).
Contact:
Lead Instructor:
Sandra Batista
TAs:
Muhammad
Shahbaz (Head TA)
Lab TAs:
Aaron Doll
Shaheed Chagani
Cody Wilson
Class Location and Time:
Mondays and
Wednesdays, 10:00 am-10:50 am, CS 104
Friday Precepts: 10:00a (Friend 008), 11:00a (Friend 006), 1:30p
(Friend 008)
Office Hours (subject to change; check Piazza for updates):
Nick: After each lecture in 310 Sherrerd.
Sandra: Wednesdays, 9-9:50 a.m., 12-1 p.m.; Thursdays 11-1 p.m. in Friend 010.
Shahbaz: Wednesdays, 5-6 p.m. in Sherrerd Hall (3rd Floor Lounge).
Aaron: Wednesday 2/11 6-8 pm in Friend 010.
Shaheed: Thursday 2/12 6-8 pm in Friend 010.
Cody: Tuesday 2/10 4:30-6:30 pm in Friend 010.
The course will meet twice a week for 50-minute lectures. Additionally, there will be one precept per week.
Assignments for the course will be lab-based programming assignments.
Prerequisite: COS 217. Although not required, taking either COS 318 or 333 before COS 461 is helpful for the programming assignments.
Grading is based on:
We understand that sometimes life events occur and that it's not always possible to meet every deadline. As such, we are willing to accept late assignments according to the following policy:
Students are expected to abide by the Princeton University Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.
Required videos: Prof. Feamster's Networking Videos. These videos are organized in a playlist that matches the syllabus topic schedule. Please watch the appropriate videos before lecture.
Required textbook: Computer Networks: A Systems Approach (5th edition), by Larry Peterson and Bruce Davie
Recommended Books: Other recommended textbooks for reference include:
Purchasing these books is not necessary; they will be on reserve in the engineering library, and online resources will be made available.This schedule and syllabus is preliminary and subject to change. Reading assignments refer to the Peterson/Davie book (5th edition), unless otherwise specified.
Videos: In addition to the readings, you should watch the corresponding videos from the YouTube Playlist, before lecture. (Note: Some of the videos in the playlist will not be covered in the course. You are only responsible for the videos that are explicitly listed in the schedule. If you have a question about whether something is required, ask on Piazza, and we will clarify/update the syllabus below if there are mistakes.)
Where applicable, please watch all videos and read book sections before class.
Slides: All slides will be posted in this directory before lecture.
Date | Modules | Readings | Assignment |
February 2
|
|
|
|
February 4
|
|
|
|
February 6
|
|
|
Programming Assignment 0 (Sockets)
|
February 9
|
|
|
|
February 11
|
|
|
|
February 13
|
|
|
Programming Assignment 1 (HTTP Proxy)
|
February 16
|
|
|
|
February 18
|
|
|
|
February 20
|
|
|
Mininet/POX Setup
|
February 23
|
|
|
|
February 25
|
|
|
|
February 27
|
|
|
Review of Routing
|
March 2
|
|
|
|
March 4
|
|
|
|
March 6
|
|
|
TCP Review
Programming Assignment 2 (Router)
|
March 9
|
|
|
|
March 11
|
|
|
|
March 13
|
Midterm
|
|
Midterm
|
March 23
|
|
|
|
March 25
|
|
|
|
March 27
|
|
|
Bufferbloat and Congestion Activities
|
March 30
|
|
|
|
April 1
|
|
|
|
April 3
|
|
|
Scheduling and Shaping
|
April 6
|
|
|
Programming Assignment 3 (Router)
|
April 8
|
|
|
|
April 10
|
|
|
SDN Firewall Activity
|
April 13
|
|
|
|
April 15
|
|
|
|
April 17
|
|
|
Router Design
(Makeup of Feb 23)
|
April 20
|
|
|
|
April 22
|
|
|
|
April 24
|
|
|
Measurement
|
April 27
|
|
|
|
April 29
|
|
|
Programming Assignment 4 (Measurement)
|
May 1
|
|
|
Course Review/Practice Problems
|