This document outlines the units and topics covered in a course on Design and Analysis of Algorithms. It includes definitions of key algorithm concepts like time complexity, asymptotic notation, and algorithm design approaches. Data structures like arrays, binary search trees, AVL trees, and red-black trees are discussed. Specific algorithms like quicksort, dynamic programming, greedy algorithms, and minimum spanning trees are covered. The document also introduces computational complexity classes like P, NP, NP-complete and NP-hard and some famous unsolved problems in computer science.