Programming, Data Structures and Algorithms in Python
Lessons
Module-01 Algorithms and programming: simple gcd
What is an algorithm and what are its benefits?
What is Greatest Common Divisor (GCD) and how it is computed?
What is the basic GCD algorithm?
Module-02 Improving naive gcd
How to improve the basic GCD algorithm?
Module-03 Euclid's algorithm for gcd
What is Euclid's algorithm for computing GCD?
How Euclid's algorithm is implemented using Python?
How to improve Euclid's algorithm and its efficiency?
Module-04 Downloading and installing Python
What are the various aspects of Python, how it can be downloaded and how interpreters are different from compilers?
Is Python an interpreted language?What are the resources to learn programming?
Module-05 Assignment statement, basic types - int, float, bool
What is the basic program structure of Python?
What is a statement and what are numeric type values in Python?
What are Boolean type values in Python?
Module-06 Strings
What are the different type of values and importance of text processing?
What is String and how it is useful in manipulating text?
What are the different operations performed on Strings?
Module-07 Lists
What are the different types of values and what is a List?
How List is different from String and What is Nested List?
What is the difference between mutable and immutable strings?
How to copy the Lists?
How to add two Lists?
Module-08 Control Flow
What is then basic Python program structure and what is the control flow?
What is conditional expression?
What are loops and its examples?
Module-09 Functions
What is a Function and how value is passed to a function?
What is the scope of names and how function is defined and what are recursive functions?
Module-10 Examples
How to find factors and all prime numbers in Python?
How to find first n prime number and how for loop is different from a while loop?
Module-11 More about range()
What is a range function?
How range function is expressed as lists?
Module-12 Manipulating lists
What is a list and how it is manipulated?
What are different List functions ?
How names are initialized in Python?
Module-13 Breaking out of a loop
What are the different types of Loops in Python and how they work?
Module-14 Arrays vs lists, binary search
What are the different ways of Storing Sequences?
What is the problem associated with searching a value in an un sorted sequence?
What is the problem associated with searching a value in a sorted sequence and what is Abstract view of python list or arrays??
Module-15 Efficiency
What is the efficiency of an algorithm and what is Big-O-notation?
How efficiency is measured using different values of input (n)?
Module-16 Selection Sort
What are the advantages of sorting and how sorting is done?
What is Selection Sort?
Module-17 Insertion Sort
What is Insertion sort and how insertion sorting is done?
Module-18 Recursion
What are the Inductive definitions of Recursive function and List?
What is Recursive difinition of Insertion sort and its complexity ?
Module-19 Mergesort
What is Merge Sort?
What are the various operations in Merge Sort?
How Merge Sort is implemented in Python?
Module-20 Mergesort, analysis
How the Algorithm for Merge and Merge Sort are analyzed?
What are the variations and Shortcomings of Merge Sort?
Module-21 Quicksort
What are problems with merge sort and How Divide and conquer is done without using merging?
What is Quicksort and how it is implemented in Python?
Module-22 Quicksort analysis
How Quicksort algorithm is analyzed?
Module-23 Tuples and dictionaries
What are Tuples?
What is a list and its keys and what are dictionaries?
Module-24 Function definitions
What are the different features of Python?
What is a function in Python?
Module-25 List Comprehension
What are the various operations performed on List?
How map and filterfunctions are combined to generate list?
Module-26 Exception Handling
What is exception handling and what are the types of errors?
What is the positive use of exceptions and what is flow of control?
Module-27 Standard input and output
What is Standard I/O & basic command in python for reading from the keyboard?
How message is displayed on the screen (standard output printing on the screen) and how formatting of print is done?
Module-28 Handling files
How reading and writing operations are performed in a text file?
How closing, processing line by line and copying a file is done and what is a strip newline character?
Module-29 String functions
what are the different operations performed on strings?
Module-30 Formatting printed output
How to use format method for printing a string and display each placeholder?
Module-31 pass, del() and None
How to read a number from keyboard by making a Python program?
Module-32 Backtracking, N queens
What is Backtracking and Eight Queen problem?
How to solved Eight queen problem with different board representation?
Module-33 Global scope, nested functions
What is scope of name in Python with example ?
Does Python allows function within function (Nested function)?
Module-34 Generating permutations
How to generate permutations?
Module-35 Sets, stacks, queues
What are specialized data structures and what is a set and its operations?
What are Stacks and Queues?
What is the use of Queue?
Module-36 Priority queues and heaps
What is the practical example of a problem in data structure and its solution?
What is Heap?
How Heap is implemented with Arrays and what is Heap sort?
Module-37 Abstract datatypes, classes and objects
What is Data Structure and its operations and what are the different datatypes?
What is OOPs and its use?
Module-38 Classes and objects in Python
What is a Class and Object and what are their examples?
What is OOPs terminology and its example?
What is the default argument function and what are the different "Special Functions" in Python?
Module-39 User defined lists
What is a List and how it is created?
What are the different list operations and their examples?
Module-40 Search trees
What is a Binary Search Tree (BST) and its various aspects?
What are different operation in BST with example and its complexity?
Module-41 Memoization and dynamic programming
What are Inductive Definitions, Functions and its Benefits?
What is new recursive implementation in Indutive definition with example?
What is Dynamic programming and why it is used?
Module-42 Grid paths
What is Grid path problem and how it is solved?
What is the Combinational solution of Grid path problem?
What is Inductive solution of Grid path problem?
How Grid path problem is solved by Memorization and Dynamic programming?
Module-43 Longest common subsequence
What is Longest Common Subword(LCW) problem and what is Bryte Force Algorithm?
What is Inductive structure in LCW?
What is Longest common subsequence(LCS) problem and its applications?
What is inductive structure in LCS?
Module-44 Matrix multiplication
What is Matrix multiplication(MM) problem and how matrices are multiplied?
What is Inductive structure of MM problem and subproblem?
Implementation of MM,DP and MM complexity
Module-45 Wrap-up, Python vs other languages
What are the advantages and disadvantages of Python in comparison to other languages?
How memory space is allocated and deallocated in Python?
What is Functional Programming?







