CS4292 Distributed Network Algorithms and Optimization
Course Duration: One Semester
Credit Units: 3
Medium of Instruction: English
CS3201 Computer Networks or
CS3270 Fundamentals of Computer Networks and the Internet or
EE3311 Networking II or
EE3900 Computer Networks or equivalent
Equivalent Courses: Nil
Exclusive Courses: Nil
The course introduces distributed algorithms to optimize networked systems in computer science and information system science. The course will cover methodologies of optimization including analysis, design and deployment for a variety of engineering applications. Applications will be selectively drawn from the following: computer networking, Internet and peer-to-peer protocols, wireless communication systems, power system networks, large-scale distributed systems, social networks, and controlled dynamical systems. The emphasis is on the concepts, algorithms and applications in these areas.
Course Intended Learning Outcomes (CILOs)
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)
Upon successful completion of this course, students should be able to:
|1.||critique and assess topics in theory of distributed network algorithms and optimization;|
|2.||design algorithms and techniques learned to solve practical problems;|
|3.||conduct scientific research in these areas under supervision.|
Teaching and learning Activities (TLAs)
(designed to facilitate students’ achievement of the CILOs)
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial
|ILO No||TLAs||Hours/week(if applicable)|
|Lecture - the lectures will present selected distributed network algorithms, and the intuition and theory behind them. The algorithms will be illustrated with both toy and real-world examples to motivate the students' understanding. Implementation details will also be discussed.|
|Tutorial - each week, students will work on problem sets during the tutorial sessions to gain better understanding of the lecture material. ||1 hour|
|CILO 2 CILO 3||Programming Assignment - students will implement selected distributed network algorithms, apply them to small test problems, and interpret the results. Students can then observe the effectiveness of the algorithm, and evaluate the differences between various algorithms. ||1 every 2 weeks|
|Course Project - students will design a system based on distributed network algorithm to solve a real-world problem. Students will report their results in a course report, and during a presentation session held at the end of the semester. || |
(designed to assess how well the students achieve the CILOs)
|ILO No||Type of assessment tasks/activities||Weighting (if applicable)||Remarks|
Coursework: Students will work on tutorial problem sets each week to gain familiarity with each algorithm.
Exam: Final exam will include questions to assess the student's ability to identify and explain distributed network algorithms.
| || |
|CILO 2||Coursework: In the programming assignments, students will implement distributed network algorithms and apply them to small problems. In the course project, students will design a larger distributed network system for solving real-world problems. In both cases, the accuracy and efficiency of their implementations, along with written reports and presentation, will be used to assess this ILO.|
| || |
|CILO 3||Coursework: Students will experiment with various distributed network algorithms in the programming assignment and course project. Their ability to identify compare different algorithms will be assessed in their written reports.|
Exam: The final exam will include questions assessing the students' ability to evaluate, compare and contrast different approaches.
| || |
Grading of Student Achievement:
Examination duration: 2 hoursPercentage of coursework, examination, etc.: 40% CW; 60% Exam
Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.
Keyword Syllabus: Convex optimization, parallel and distributed computation. Network flow problems, Internet congestion control algorithms, consensus and gossip algorithms, sensor network algorithms, wireless power control algorithms, peer-to-peer (P2P) algorithms, algorithms for large data centres and cloud computing.
Department of Computer Science