Algorithm Design Techniques



Algorithms constitute the core of Computer Science and algorithm design is crucial for the performance of real-world software systems. This is an advanced algorithms course, focusing on techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include average case analysis of hashing; amortized analysis; randomized algorithms, competitive analysis of online algorithms; approximation algorithms for hard optimization problems, algorithms for data streams, number theoretic algorithms, and machine learning algorithms.

Course period15/01/24 → …