Course page for CS6013 - Advanced Data Structures and Algorithms (Sep-Dec 2020)

Back to my teaching page
Canvas page for the course is here


Module 1: Divide-and-conquer algorithms, probability, hashing
Module 2: Probabilistic data structures, red-black trees, B-trees
Module 3: Heaps, amortized analysis, greedy algorithms
Module 4: Dynamic programming, graph algorithms, NP-hardness
Asymptotic notation in six easy pieces: one two three four five six


1. Introduction to algorithms: Cormen, Leiserson, Rivest and Stein (Main textbook)
2. Online lecture notes by Jeff Erickson
3. The Algorithm Design Manual: Steven Skiena
4. Algorithm Design: Kleinberg and Tardos
5. Data structures and algorithm analysis in C++(Java): Mark Weiss

Division of credit:

Weekly Quizzes: 20%, Programming Assignments: 30%, Exams (one per module): 50%

Academic Honesty Policy