Network optimization has been an important area in the current research in computer science and computer engineering. In this course project, I have implemented a network routing protocol using the data structures and algorithms studied in class. This provided me with an opportunity to translate your theoretical understanding into a real-world practical computer program. Translating algorithmic ideas at a “higher level” of abstraction into real implementations in a particular programming language is not at all always trivial. The implementations often force you to work on more details of the algorithms, which sometimes may lead to much better understanding.