Asymptotic Unleashed : Algorithm Analysis introduces how to design correct, efficient algorithms and reason about their performance. This course will enable learners to understand formal and informal analysis, asymptotic notation, practice case analyses (best/average/worst), and loop invariants, and to solve running times using recurrences (substitution, iteration, Master method). This course will give classic sorting algorithms and study divide-and-conquer in depth via merge sort and quicksort. By the end, the learner will be able to evaluate algorithmic choices rigorously and communicate tight
    time/space bounds for real programs.

    Course Syllabus