NOC:Programming, Data Structures and Algorithms in Python


Lecture 1 - Lecture 1 - Algorithms and programming: simple gcd


Lecture 2 - Lecture 2 - Improving naive gcd


Lecture 3 - Lecture 3 - Euclid's algorithm for gcd


Lecture 4 - Lecture 4 - Downloading and installing Python


Lecture 5 - Lecture 1 - Assignment statement, basic types - int, float, bool


Lecture 6 - Lecture 2 - Strings


Lecture 7 - Lecture 3 - Lists


Lecture 8 - Lecture 4 - Control Flow


Lecture 9 - Lecture 5 - Functions


Lecture 10 - Lecture 6 - Examples


Lecture 11 - Lecture 1 - More about range()


Lecture 12 - Lecture 2 - Manipulating lists


Lecture 13 - Lecture 3 - Breaking out of a loop


Lecture 14 - Lecture 4 - Arrays vs lists, binary search


Lecture 15 - Lecture 5 - Efficiency


Lecture 16 - Lecture 6 - Selection Sort


Lecture 17 - Lecture 7 - Insertion Sort


Lecture 18 - Lecture 8 - Recursion


Lecture 19 - Lecture 1 - Mergesort


Lecture 20 - Lecture 2 - Mergesort, analysis


Lecture 21 - Lecture 3 - Quicksort


Lecture 22 - Lecture 4 - Quicksort analysis


Lecture 23 - Lecture 5 - Tuples and dictionaries


Lecture 24 - Lecture 6 - Function definitions


Lecture 25 - Lecture 7 - List Comprehension


Lecture 26 - Lecture 1 - Exception Handling


Lecture 27 - Lecture 2 - Standard input and output


Lecture 28 - Lecture 3 - Handling files


Lecture 29 - Lecture 4 - String functions


Lecture 30 - Lecture 5 - Formatting printed output


Lecture 31 - Lecture 6 - pass, del() and None


Lecture 32 - Lecture 1 - Backtracking, N queens


Lecture 33 - Lecture 2 - Global scope, nested functions


Lecture 34 - Lecture 3 - Generating permutations


Lecture 35 - Lecture 4 - Sets, stacks, queues


Lecture 36 - Lecture 5 - Priority queues and heaps


Lecture 37 - Lecture 1 - Abstract datatypes, classes and objects


Lecture 38 - Lecture 2 - Classes and objects in Python


Lecture 39 - Lecture 3 - User defined lists


Lecture 40 - Lecture 4 - Search trees


Lecture 41 - Lecture 1 - Memoization and dynamic programming


Lecture 42 - Lecture 2 - Grid paths


Lecture 43 - Lecture 3 - Longest common subsequence


Lecture 44 - Lecture 4 - Matrix multiplication


Lecture 45 - Lecture 5 - Wrap-up, Python vs other languages