CS653 (Fall 2018): Advanced Computer Networks
Overview Schedule Reading
Overview

Goals

The goals of this course are to 1) teach advanced fundamental principles underlying computer networks, and 2) provide exposure to networking research through a course project involving a small research component as well as reading classic and recent papers.

The remarkable success of computer networks, especially the Internet, has transformed the way we live, work, and interact. The Internet began as a research curiosity a few decades back, but forms a critical global communication infrastructure for business, health care, education, entertainment, and other services today. How does this global infrastructure work? What are the principles underlying its design that enabled it to grow by several orders of magnitude and accommodate a staggering variety of applications over the last two decades with little change to its core design? What are the drawbacks of its design and how can we address them? How can we analytically characterize the behavior of its core protocols? What are the real-world challenges faced by operators managing these networks across thousands of administrative domains today?

The course will cover topics in the following categories: 1) routing and transport protocols, 2) resource management, 3) datacenter network design, 4) software defined networking 5) wireless networks, and 6) network security. 


Lectures

Instructor: V. Arun
Class: Tue-Thu 4pm-5:15pm, CS 142
Course sites: Moodle for submissions + this site for reading material + Piazza for online discussions and private emails to instructor
Office hours: CS 236, right after class or by appointment.

Course material

Much of the course material will be based on research papers and class notes posted on the Schedule page.

The textbook for background reading for this course is Computer Networking: A Top Down Approach Featuring the Internet (7th edition).  The book covers basic networking concepts at an undergraduate level. Sections from the book will be assigned for reading for class preparation as needed, but will not be covered in detail in lectures. 

Prerequisites

You must have completed an undergraduate course in networking equivalent to CMPSCI 453 at UMass Amherst. An undergraduate-level knowledge of operating systems, algorithms, and probability will be helpful.  

Course work

The table below shows a breakdown of credit for different course activities. Yes, the total "percentage" adds up to over 100 and is intentionally designed to give you multiple ways of doing well in the course.

Course Project (proposal + mid-term + final report) 30%
Assignments (4) 30%
Exams: one midterm + one final 30%
Class participation and reviews 20%

The course will involve intensive paper reading and will typically require reading one paper per class and submission of written reviews for one or two of those papers every week. Because there is no textbook, much of the material for the course will be drawn from the Required Reading papers. (You are encouraged to but don't have to read the papers in the Optional Reading list.) So how well you digest those papers will impact your performance on "Class participation and reviews" as well as on Assignments.

The assignments will be a combination of conceptual questions and light programming for which familiarity with some high-level language like C, Java, Python etc. will be required.

Academic honesty


Please read and abide by the UMass Acadameic Honesty Policy. You must do Assignments and Exams by yourself. You may discuss the interpretation of a question with a colleague, but you must submit your own solution. Borrowing solutions or hints from others or lending them yours will be considered as academic dishonesty. If you are having trouble with an Assignment or need more time, please talk to the instructors.

Unlike Assignments and Exams, you are encouraged to discuss the Course Project with colleagues.