Syllabus

All Materials, Lectures and Assignments (along with the deadlines) are provided here.

Text Book:

Various interesting and useful topics that will be touched during the course are discussed in the following textbooks.
  • T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Prentice-Hall of India, 2009.
  • A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Pearson Education, 2006.
  • Materials and Chapters will be referred when required

Lectures

Event Date Lecture Suggested Readings Assignments and Deadline
Lecture 1 -- Topics: (no slides)
  • Formal introduction
  • Course details
  • Syllabus
Lecture 2 -- Topics: (slides)
  • Introductio to Asymptotics Big-O/Ω/Θ, growth rates, amortized idea; examples.
Lecture 3 -- Topics: (slides)
  • Intro + asymptotics Big-O/Ω/Θ, growth rates, amortized idea; examples.
Lecture 4 -- Topics: (slides)
  • Recurrences substitution, recursion tree, Master theorem; practice set.
Lecture 5 -- Topics: (slides)
  • Recurrences substitution, recursion tree, Master theorem; practice set.
Lecture 6 -- Topics: (slides)
  • Proof techniques induction, invariants, exchange argument; correctness templates
Lecture 7 -- Topics: (slides)
  • Proof techniques induction, invariants, exchange argument; correctness templates
Lecture 8 -- Topics: (slides)
  • Divide & conquer I merge sort, quicksort; partition; expected complexity
Lecture 9 -- Topics: (slides)
  • Divide & conquer I merge sort, quicksort; partition; expected complexity
Lecture 10 -- Topics: (slides)
  • Divide & conquer II binary search variants, selection (quickselect), closest pair (concept).
Lecture 11 -- Topics: (slides)
  • Divide & conquer II binary search variants, selection (quickselect), closest pair (concept).
Lecture 12 -- Topics: (slides)
  • Heaps & priority queues heap operations; heapsort; applications
Lecture 13 -- Topics: (slides)
  • Heaps & priority queues heap operations; heapsort; applications
Lecture 14 -- Topics: (slides)
  • Hashing hash tables, collision handling, universal hashing intuition
Lecture 15 -- Topics: (slides)
  • Hashing hash tables, collision handling, universal hashing intuition
Lecture 16 -- Topics: (slides)
  • Balanced search trees (overview) AVL/Red-black intuition; order statistics trees idea
Lecture 17 -- Topics: (slides)
  • Balanced search trees (overview) AVL/Red-black intuition; order statistics trees idea
Lecture 18 -- Topics: (slides)
  • Greedy I activity selection, interval scheduling; proving greedy (exchange).
Lecture 19 -- Topics: (slides)
  • Greedy I activity selection, interval scheduling; proving greedy (exchange).
Lecture 20 -- Topics: (slides)
  • Greedy II Huffman coding, minimum spanning tree (Kruskal/Prim) correctness
-- -- (Feb 25) Last Date for Proposal Submission.
-- -- Mid Semester Exam Week Best of Luck.
Lecture 21 -- Topics: (slides)
  • Greedy II Huffman coding, minimum spanning tree (Kruskal/Prim) correctness
Lecture 22 -- Topics: (slides)
  • Dynamic programming I DP templates; memoization vs tabulation; knapsack
Lecture 23 -- Topics: (slides)
  • Dynamic programming I DP templates; memoization vs tabulation; knapsack
Lecture 24 -- Topics: (slides)
  • Dynamic programming II LIS, edit distance; state design and optimization tricks
Lecture 25 -- Topics: (slides)
  • Dynamic programming II LIS, edit distance; state design and optimization tricks
Lecture 26 -- Topics: (slides)
  • Graph algorithms I BFS/DFS, topological sort; DAG shortest paths
Lecture 27 -- Topics: (slides)
  • Graph algorithms I BFS/DFS, topological sort; DAG shortest paths
Lecture 28 -- Topics: (slides)
  • Graph algorithms II shortest paths (Dijkstra, Bellman–Ford); negative cycles
Lecture 29 -- Topics: (slides)
  • Graph algorithms II shortest paths (Dijkstra, Bellman–Ford); negative cycles
Lecture 30 -- Topics: (slides)
  • Graph algorithms III all-pairs (Floyd–Warshall); applications.
Lecture 31 -- Topics: (slides)
  • Graph algorithms III all-pairs (Floyd–Warshall); applications.
Lecture 32 -- Topics: (slides)
  • Network flow max flow/min cut; Ford–Fulkerson/Edmonds–Karp; bipartite matching
-- -- (Mar 30) - Last Date of Mid Presentation.
Lecture 33 -- Topics: (slides)
  • Network flow max flow/min cut; Ford–Fulkerson/Edmonds–Karp; bipartite matching
Lecture 34 -- Topics: (slides)
  • NP-completeness P vs NP, reductions, NP-complete examples; what it means practically
Lecture 35 -- Topics: (slides)
  • NP-completeness P vs NP, reductions, NP-complete examples; what it means practically
Lecture 36 -- Topics: (slides)
  • Approximation & heuristics vertex cover/knapsack ideas; PTAS intuition; local search
Lecture 37 -- Topics: (slides)
  • Approximation & heuristics vertex cover/knapsack ideas; PTAS intuition; local search
Lecture 38 -- Topics: (slides)
  • Randomized algorithms randomized quicksort, hashing; Monte Carlo vs Las Vegas
Lecture 39 -- Topics: (slides)
  • Randomized algorithms randomized quicksort, hashing; Monte Carlo vs Las Vegas
Lecture 40 -- Topics: (slides)
  • Mixed paradigm problems and Solution
Lecture 41 -- Topics: (slides)
  • Wrap-up
Lecture 42 -- Topics: (slides)
  • Wrap-up
-- -- (Apl 30) Last Date of Codes Submission.
-- -- (Apl 30) Dead Line for Final Presentation Video Submission.
-- -- (Apl 30) Dead Line for Report Submission.
-- -- End Semester Exam Week Best of Luck.
Link Added on Last Date for Submission :