MSCS 800: Analysis and Design of Advanced Algorithms