CENG 611

Advanced Design and Analysis of Algorithms

This course examines a variety of theoretical issues that have important practical consequences in the design and analysis of algorithms. We emphasize the importance of asymptotic analysis and the common methodology used in the analysis of sequential and parallel algorithms. We will analyze the factors that influence the performance of algorithms on different computer architectures (such that many cores and parallel computers and high performance computers) and their implications on scientific applications of interest. We will survey major design strategies used in the complexity analysis of different algorithms. New models for parallel computation will be studied and critically evaluated. The complexity and limitations of these models will be discussed.