Syllabus

Synopsis

cs450-textbook Instructor: Balajee Vamanan
Lecture hours: MWF 3-3:50 p.m., Burnham Hall #209
Office hours: TTh 2–3 PM
TA: Ashkan Rezaei
Office hours: TTh 4–5 PM
Textbook: Computer Networking: A Top-Down Approach by Kurose and Ross, 6th Edition
Exam dates: Midterm on October 24 (Monday) in-class, finals on December 5 (Monday), 8–10 AM.
Clickers are required for quizzes; quizzes account for 5% of overall grade.

Course Content

The goal of this course is to give you a good understanding of the various layers of the network protocol stack. Being a hands-on course, you will get exposure to a few network diagnostic tools and simulators. We will also breifly explore recent trends in networking research which would help those interested in networking research.

The course would cover the following topics:

  • TCP/IP layering model of the Internet
  • Domain Name Services (DNS)
  • Networking APIs for application developers
  • Network performance - throughput, delay and packet loss
  • TCP - Reliability and Congestion Control
  • IPv4/IPv6 Addressing / Routing
  • Inter/intra domain routing protocols
  • Network address translation
  • Mobility and the Internet
  • Network Security - Botnets, DoS/DDoS, Viruses and Worms
  • Multicast and Anycast mechanisms
  • Physical layer: modulation and coding

Prerequisites

A substantial portion of this class involves low level network programming; CS385 or equivalent is required. Concurrent enrollment is only available with instructor consent but not recommended. You can find the recordings of CS385 here.

Grading

  • Grading is relative (i.e, grade cut-offs are not defined ahead of time).
  • Grading is done separately for graduate and undergraduate students.

These are the weights of the individual components.

Component Weightage
Class participation 5%
Clicker quizzes 5%
Homework 35%
Midterm exam 25%
Final exam 30%

Reading Quizzes

Clicker quizzes that occur at the end of a major topic will serve to emphasize key ideas. You can expect two to four quizzes on average each month and they will be at the end of the class.

Class Participation

Participation is incredibly important!

  • Bonus 5% for exceptional participation at the dicretion of instructor and TA. This extra credit will be highly selective (i.e., < 1% of the class might get it).
  • Expectional participation includes but not limited to answering questions in Piazza, reporting errors (if any) in homeworks and assignments, asking good questions in class, and contributing testcases and scripts code for the common good.

Homeworks

  • Six to eight homeworks equally spaced throughout the semester.
  • Programming must be done in C (i.e., knowledge of C is mandatory).
    Please check the homework page for updates.

Late submissions

Late homework submissions will be penalized – you will get 50% credit if your submission is within within 24 hours and 0% credit after. However, exceptions can be made for extenuating circumstances.

Academic Integrity

Discussion with your peers is encouraged. However, copying code is plagiarism. If you don’t know how the code that you implemented for an assignment works, then its likely a problem. To be safe, please cite your your sources in all your turn-ins. When in doubt, please ask the instructor or the TA.