CS 510 Advanced Algorithm Design 3 cr.  (3-0-0)

This course is an advanced course in design and analysis of algorithms. Algorithm design and analysis is a fundamental and important part of computer science. In this course, we will study advanced techniques for designing algorithms, verifying their correctness, and analyzing their computational complexity. Topics covered in this course include Number theoretic algorithms, dynamic programming, graph algorithms, randomized algorithm, binomial heap, Fibonacci heap, linear programming, online algorithms, parallel algorithms, and NP-completeness.