CS 6250: Computer Networks

Course Creator and Instructor

Nick Feamster
Creator, Instructor


This project-based course will explore research topics in computer networking, primarily at the IP layer and above. Students will gain exposure to burgeoning areas of computer networking and learn how to use the tools commonly used for networking research, today.  

This course is divided into 3 parts, which will be taken in order:

  • Part 1: End-to-End, Naming, Routing & Forwarding
  • Part 2: Resource Control & Content Distribution
  • Part 3: Operations & Management



This class is appropriate for students with previous background in networking. Some familiarity with both network programming, scripting languages (e.g., Python) and using virtual machines will be helpful.

  • If you can confidently answer 'yes' to these questions, you should be fine:
    • 1.Can you explain the main distinction between TCP and UDP?
    • 2.Can you comfortably complete the Python tutorial and write basic programs in Python?
    • 3. Do you understand the three way handshake of TCP?
    • 4. Can you get files off of a virtual machine without a mapped directory?


Lesson Preview



Grading will be based on nine assignments completed throughout the course. The assignment weightings are as follows:

  • Assignments 1 through 8 - 10% per assignment
  • Assignment 9 - 20%

Assignments will be submitted through the Udacity site. Specific instructions will be given for each assignment.

Grades will be posted through T-Square. Late assignments will not be accepted. Assignments must be submitted by 11:55 pm (PST) on the due date posted in the schedule. Plan accordingly with your schedule as the second half of the assignments will be more time-intensive.


Required Course Readings

There is no required textbook for this course.

You may, but are not required to read the papers listed in the "Instructor Notes" section under selected videos, and compiled in the Web Resources wiki page.


Minimum Technical Requirements

  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps recommended; at minimum 0.768 Mbps download speed
  • Operating system: - PC: Windows XP or higher with latest updates installed - Mac: OS X 10.6 or higher with latest updates installed - Linux: Any recent distribution that has the supported browsers installed


Other Info

Additional Staff
  • Manish Choudary, Teaching Assistant
Office Hours
  • Office hours for this course will be held on Google Hangouts On-Air. These sessions are uploaded to the class's unlisted YouTube channel. You will need to have a Google account in order to participate.
  • If you do not wish to participate, or are unable to participate, in the live Hangout, you may submit your questions in advance to the provided Hangouts On-Air link that is sent out prior to each office hour.
Academic Honesty

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code.