COS 461, Princeton University Spring 2016
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:
TAs:
Arpit Gupta
Ronaldo Ferreira
Mina Tahmasbi Arashloo
Lab TAs: Cody Wilson
Class Location and Time:
Lectures: Mondays and
Wednesdays, 10:00 am-10:50 am, Betts Auditorium (Architecture)
Precepts: 10:00a (Friend 004), 11:00a (Friend 004), 1:30p (Friend 004)
Office Hours (subject to change; check Piazza for updates):
Nick: Monday 11a-12p, Wednesday 5-6p (Sherrerd 310)
Ronaldo: Tuesday 9:30-11:30 (Friend Center Basement Lab)
Arpit: Fridays 3p-5p in Sherrerd Hall Third Floor Lounge
Mina: Thursday 10a-12p (Friend Center Basement Lab)
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. Although the assignments this year will be based in Go and Python, you do not need to have experience with either language before taking the course. All necessary background will be provided in lecture, precept, and the assignments themselves.
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.
Supplementary Videos: Prof. Feamster's Networking Videos.
Primary Supplementary 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. Suggested reading assignments refer to the Peterson/Davie book (5th edition), unless otherwise specified.
Videos: In addition to the readings, we recommend watching the corresponding videos from the YouTube Playlist, before lecture.
Slides: All slides will be posted in this Dropbox directory before lecture.
Date | Modules | Readings | Assignment |
Module 1: Protocols
and Infrastructure
|
|
|
|
February 1
|
|
|
|
February 3
|
|
|
|
February 5
|
|
|
Programming Assignment 0 (Virtual Machine Setup, Sockets)
|
February 8
|
|
|
|
February 10
|
|
|
|
February 12
|
|
|
Programming Assignment 1 Released (Protocols and Proxies)
|
February 15
|
|
|
|
February 17
|
|
|
|
February 19
|
|
|
Assignment Help
|
February 22
|
|
|
|
February 24
|
[Recorded Lecture + Bonus Office Hour]
|
|
|
February 26
|
|
|
Assignment Help
|
February 29
|
|
|
|
March 2
|
|
|
|
March 4
|
|
|
Assignment Help / Midterm Review
|
Module 2:
Management and Security
|
|
|
|
March 7
|
|
|
|
March 9
|
Midterm
|
|
Midterm
Programming Assignment 2 Released (Measurement)
|
March 11
|
|
|
Assignment Help
|
March 21
|
|
|
|
March 23
|
|
|
|
March 25
|
|
|
Assignment Help
|
March 28
|
|
|
|
March 30
|
|
|
|
April 1
|
|
|
Programming Assignment 3 Released (Security)
Assignment Help
|
April 4
|
|
|
|
April 6
|
|
|
|
April 8
|
|
|
Assignment Help
|
Module 3: Applications
|
|
|
|
April 11
|
|
|
|
April 13
|
|
|
|
April 15
|
|
|
Assignment Help
|
April 18
|
|
|
|
Module 4: Stakeholders
|
|
|
|
April 20
|
|
|
|
April 22
|
|
|
Programming Assignment 4 (Applications: Performance and Optimization)
Assignment Help
|
April 25
|
Guest Lecture: Jonathan Mayer (FCC)
|
|
|
April 27
|
|
|
|
April 29
|
|
N/A
|
Course Review/Practice Problems
|