NPTEL : NOC:Programming, Data Structures and Algorithms in Python (Computer Science and Engineering)

Co-ordinators : Prof. Madhavan Mukund


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