The objectives of the course include fundamental of data networks, network algorithms and performance analysis. After the course, students are expected to understand what and how to evaluate the performance of a network as well as how and why different networks algorithms are designed. To take the course, students are expected to have a good mathematical background, basic knowledge of computer networks and the probability theory