Programming, Data Structures and Algorithms using Python
Programming, Data Structures and Algorithms using Python. Instructor: Prof. Madhavan Mukund, Department of Computer Science and Engineering, Chennai Mathematical Institute. This course is an introduction to programming and problem solving in Python. It does not assume any prior knowledge of programming. Using some motivating examples, the course quickly builds up basic concepts such as conditionals, loops, functions, lists, strings and tuples. It goes on to cover searching and sorting algorithms, dynamic programming and backtracking, as well as topics such as exception handling and using less. As far as data structures are concerned, the course covers Python dictionaries as well as classes and objects for denying user defined data types such as linked lists and binary search trees.
(from nptel.ac.in)
Go to the Course Home or watch other lectures:
Introduction |
Lecture 01 - Algorithms and Programming: Simple GCD |
Lecture 02 - Improving Naive GCD |
Lecture 03 - Euclid's Algorithm for GCD |
Lecture 04 - Downloading and Installing Python |
Basics of Python |
Lecture 05 - Assignment Statement, Basic Types - Int, Float, Bool |
Lecture 06 - Strings |
Lecture 07 - Lists |
Lecture 08 - Control Flow |
Lecture 09 - Functions |
Lecture 10 - Examples |
Lists, Inductive Function Definitions, Sorting |
Lecture 11 - More about Range () |
Lecture 12 - Manipulating Lists |
Lecture 13 - Breaking Out of a Loop |
Lecture 14 - Arrays vs Lists, Binary Search |
Lecture 15 - Efficiency |
Lecture 16 - Select Sort |
Lecture 17 - Insertion Sort |
Lecture 18 - Recursion |
Sorting, Tuples, Dictionaries, Passing Functions, List Comprehension |
Lecture 19 - Mergesort |
Lecture 20 - Mergesort, Analysis |
Lecture 21 - Quicksort |
Lecture 22 - Quicksort Analysis |
Lecture 23 - Tuples and Dictionaries |
Lecture 24 - Function Definitions |
Lecture 25 - List Comprehension |
Exception Handling, Input/Output, File Handling, String Processing |
Lecture 26 - Exception Handling |
Lecture 27 - Standard Input and Output |
Lecture 28 - Handling Files |
Lecture 29 - String Functions |
Lecture 30 - Formatting Printed Out |
Lecture 31 - Pass, Del() and None |
Backtracking, Scope, Data Structures; Stacks, Queues and Heaps |
Lecture 32 - Backtracking, N Queens |
Lecture 33 - Global Scope, Nested Functions |
Lecture 34 - Generating Permutations |
Lecture 35 - Sets, Stacks, Queues |
Lecture 36 - Priority Queues and Heaps |
Classes, Objects and User Defined Data Types |
Lecture 37 - Abstract Data Types, Classes and Objects |
Lecture 38 - Classes and Objects in Python |
Lecture 39 - User Defined Lists |
Lecture 40 - Search Trees |
Dynamic Programming |
Lecture 41 - Memoization and Dynamic Programming |
Lecture 42 - Grid Paths |
Lecture 43 - Longest Common Subsequence |
Lecture 44 - Matrix Multiplication |
Lecture 45 - Python vs Other Languages |