COS 461, Princeton University Spring 2018
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:
Graders:
Andrew Spencer, Gordon Chu, Leora Huebner, Nico Toy, Perry Cate, Jasmine Peled, Michael Friedman
Class Location and Time:
Lectures: Mondays and Wednesdays, 1:30-2:50 pm, Computer Science 104
Office Hours (subject to change; check Piazza for updates):
The course will meet twice a week for 80-minute lectures.
Each lecture will contain discussion, activities, and material that assumes that you have watched the preparation videos in advance. Preparation may be tested without warning.
The primary assignments for the course will be lab-based programming assignments. We will also release weekly problem set exercises whose primary purpose is to help in preparation for the midterm and final exam; these problem sets may be graded at random.
Prerequisite: COS 217. Although not required, taking either COS 318 or 333 before COS 461 is helpful for the programming assignments. Note well: The assignments in this class are in Go, C, and Python. You do not need to have experience with all of these languages before taking the course. However, you should be comfortable with learning new programming languages and finding resources on your own, independently as you attack problems. You will be exposed to new programming languages and environments. If you are not comfortable learning new programming languages and familiarizing yourself with new programming environments on your own, you will have difficulty in this course.
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.
Supplementary Textbooks: (Excerpts on Blackboard)
Recommended Books: Other recommended textbooks for reference include:
This schedule and syllabus is preliminary and subject to change. Suggested reading assignments refer to the Tanenbaum/Weatherall (5th Edition) and Kurose/Ross books (6th 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 on Blackboard before lecture.
Date | Topic | Readings | Videos | Assignments |
---|---|---|---|---|
February 5 |
|
|
||
February 7 |
|
|
||
February 12 |
|
|
||
February 14 |
|
|
||
February 19 |
|
|
||
February 21 |
|
|
||
February 26 |
|
|
||
February 28 |
|
|
||
March 5 |
|
|
||
Module 2: Network Management |
||||
March 7 |
|
|
||
March 12 | Midterm 1 |
|||
March 14 |
|
|
||
March 16 |
||||
March 26 |
|
|
||
March 28 |
|
|
||
Module 3: Policy and Security |
||||
April 2 |
|
|
||
April 4 |
|
|||
April 9 |
|
|||
April 11 |
|
|
||
April 16 |
|
|
||
Module 4: Applications |
||||
April 18 |
|
|
||
April 23 |
|
|
||
April 25 |
|
|
||
April 30 | Midterm 2 |
|||
May 2 | Guest lecture: "Internet in the Real World" by Jason Livingood, VP of Internet Services at Comcast | |||
May 15 |
Dean's Date |
|
The following assignments have been officially released. We advise against starting early on (last year's) assignments in the repository that haven't been officially released as these are still subject to change.