Programming Assignment 3 for the CS 640 - Introduction to Computer Networks