Skip to content
September 2026 qualifier: applications close Sun 27 Sep · Week 1 starts Fri 2 Oct
Qualifier Hub

IIT Madras PDSA Lectures: Programming, Data Structures and Algorithms using Python

BSCS200284 lectures12 weeks

Weeks

  1. Week 112 lecturesIntroduction to Jupyter Notebooks and Google Colab · Implementation of Python Codes - Part 01 · Python Recap - I · Python Recap - II · Python Recap - III · Exception handling · Classes and Objects · Implementation of Python Codes - Part 02 · Timing Our Code · Implementation of Python Codes - Part 03 · Why Efficiency Matters? · Implementation of Python Codes - Part 04
  2. Week 29 lecturesAnalysis of Algorithms · Comparing Orders of Magnitude · Calculating Complexity - Examples · Searching in a List · Selection Sort · Inserting Sort · Merge Sort · Analysis of Merge Sort · Implementation of Searching and Sorting Algorithms
  3. Week 39 lecturesQuicksort · Analysis of Quicksort · Implementation of Quicksort Algorithm · Concluding Remarks on Sorting Algorithms · Difference Between Lists and Arrays (Theory) · Designing a Flexible List and Operations on the Same · Implementation of Lists in Python · Implementation of Dictionaries in Python · Difference Between Lists and Arrays (Implementation)
  4. Week 48 lecturesIntroduction to Graphs · Representing Graphs · Breadth First Search (BFS) · Depth First Search (DFS) · Applications of BFS and DFS · Introduction to Directed Acyclic Graph (DAG) · Topological Sorting · Longest Path in DAGs
  5. Week 57 lecturesShortest Paths in Weighted Graphs · Single Sourse Shortest Paths (Dijkstra's Algorithm) · Single Sourse Shortest Paths with Negative Weights (Bellman-Ford Algorithm) · All Pairs Shortest Paths (Floyd-Warshall Algorithm) · Minimum Cost Spanning Trees · Minimum Cost Spanning Trees (Prim's Algorithm) · Minimum Cost Spanning Trees (Kruskal's Algorithm)
  6. Week 65 lecturesUnion-Find Data Structure · Priority Queues · Heaps · Using Heaps in Algorithms · Search Trees
  7. Week 74 lecturesBalanced Search Trees · Greedy Algorithms-Interval Scheduling · Greedy Algorithms-Minimizing Lateness · Greedy Algorithms-Huffman Coding
  8. Week 86 lecturesDivide and Conquer-Counting Inversions · Divide and Conquer-Closest Pair of Points · Divide and Conquer-Integer Multiplication · Divide and Conquer-Recursion Trees · Divide and Conquer-Quick Select · Implementation of Quick Select and Fast Select Algorithms
  9. Week 96 lecturesDynamic Programming · Memoization · Grid Paths · Common Subwords and Subsequences · Edit Distance · Matrix Multiplication
  10. Week 107 lecturesString Matching · String Matching: Boyer-Moore Algorithm · String Matching: Rabin-Karp Algorithm · String Matching Using Automata · String Matching: Knuth-Morris-Pratt Algorithm · String Matching-Tries · String Matching-Regular Expresssions
  11. Week 117 lecturesLinear Programming · Linear Programming-Production Planning · Linear Programming-Bandwidth Allocation · Network Flows · Reductions · Intractability-Checking Algorithms · Intractability-P and NP
  12. Week 124 lecturesSummary of Weeks 1 to 3 · Summary of Weeks 4 to 6 · Summary of Weeks 7 to 9 · Summary of Weeks 10 to 11

PDSA notesPDSA previous year papers