Final programming assignment for CSC 450 (Computer Networks)