Programming, Data Structures and Algorithms in Python

Programming, Data Structures and Algorithms in Python

Lessons

  1. Module-01 Algorithms and programming: simple gcd

    1. What is an algorithm and what are its benefits?

    2. What is Greatest Common Divisor (GCD) and how it is computed?

    3. What is the basic GCD algorithm?

  2. Module-02 Improving naive gcd

    1. How to improve the basic GCD algorithm?

  3. Module-03 Euclid's algorithm for gcd

    1. What is Euclid's algorithm for computing GCD?

    2. How Euclid's algorithm is implemented using Python?

    3. How to improve Euclid's algorithm and its efficiency?

  4. Module-04 Downloading and installing Python

    1. What are the various aspects of Python, how it can be downloaded and how interpreters are different from compilers?

    2. Is Python an interpreted language?What are the resources to learn programming?

  5. Module-05 Assignment statement, basic types - int, float, bool

    1. What is the basic program structure of Python?

    2. What is a statement and what are numeric type values in Python?

    3. What are Boolean type values in Python?

  6. Module-06 Strings

    1. What are the different type of values and importance of text processing?

    2. What is String and how it is useful in manipulating text?

    3. What are the different operations performed on Strings?

  7. Module-07 Lists

    1. What are the different types of values and what is a List?

    2. How List is different from String and What is Nested List?

    3. What is the difference between mutable and immutable strings?

    4. How to copy the Lists?

    5. How to add two Lists?

  8. Module-08 Control Flow

    1. What is then basic Python program structure and what is the control flow?

    2. What is conditional expression?

    3. What are loops and its examples?

  9. Module-09 Functions

    1. What is a Function and how value is passed to a function?

    2. What is the scope of names and how function is defined and what are recursive functions?

  10. Module-10 Examples

    1. How to find factors and all prime numbers in Python?

    2. How to find first n prime number and how for loop is different from a while loop?

  11. Module-11 More about range()

    1. What is a range function?

    2. How range function is expressed as lists?

  12. Module-12 Manipulating lists

    1. What is a list and how it is manipulated?

    2. What are different List functions ?

    3. How names are initialized in Python?

  13. Module-13 Breaking out of a loop

    1. What are the different types of Loops in Python and how they work?

  14. Module-14 Arrays vs lists, binary search

    1. What are the different ways of Storing Sequences?

    2. What is the problem associated with searching a value in an un sorted sequence?

    3. What is the problem associated with searching a value in a sorted sequence and what is Abstract view of python list or arrays??

  15. Module-15 Efficiency

    1. What is the efficiency of an algorithm and what is Big-O-notation?

    2. How efficiency is measured using different values of input (n)?

  16. Module-16 Selection Sort

    1. What are the advantages of sorting and how sorting is done?

    2. What is Selection Sort?

  17. Module-17 Insertion Sort

    1. What is Insertion sort and how insertion sorting is done?

  18. Module-18 Recursion

    1. What are the Inductive definitions of Recursive function and List?

    2. What is Recursive difinition of Insertion sort and its complexity ?

  19. Module-19 Mergesort

    1. What is Merge Sort?

    2. What are the various operations in Merge Sort?

    3. How Merge Sort is implemented in Python?

  20. Module-20 Mergesort, analysis

    1. How the Algorithm for Merge and Merge Sort are analyzed?

    2. What are the variations and Shortcomings of Merge Sort?

  21. Module-21 Quicksort

    1. What are problems with merge sort and How Divide and conquer is done without using merging?

    2. What is Quicksort and how it is implemented in Python?

  22. Module-22 Quicksort analysis

    1. How Quicksort algorithm is analyzed?

  23. Module-23 Tuples and dictionaries

    1. What are Tuples?

    2. What is a list and its keys and what are dictionaries?

  24. Module-24 Function definitions

    1. What are the different features of Python?

    2. What is a function in Python?

  25. Module-25 List Comprehension

    1. What are the various operations performed on List?

    2. How map and filterfunctions are combined to generate list?

  26. Module-26 Exception Handling

    1. What is exception handling and what are the types of errors?

    2. What is the positive use of exceptions and what is flow of control?

  27. Module-27 Standard input and output

    1. What is Standard I/O & basic command in python for reading from the keyboard?

    2. How message is displayed on the screen (standard output printing on the screen) and how formatting of print is done?

  28. Module-28 Handling files

    1. How reading and writing operations are performed in a text file?

    2. How closing, processing line by line and copying a file is done and what is a strip newline character?

  29. Module-29 String functions

    1. what are the different operations performed on strings?

  30. Module-30 Formatting printed output

    1. How to use format method for printing a string and display each placeholder?

  31. Module-31 pass, del() and None

    1. How to read a number from keyboard by making a Python program?

  32. Module-32 Backtracking, N queens

    1. What is Backtracking and Eight Queen problem?

    2. How to solved Eight queen problem with different board representation?

  33. Module-33 Global scope, nested functions

    1. What is scope of name in Python with example ?

    2. Does Python allows function within function (Nested function)?

  34. Module-34 Generating permutations

    1. How to generate permutations?

  35. Module-35 Sets, stacks, queues

    1. What are specialized data structures and what is a set and its operations?

    2. What are Stacks and Queues?

    3. What is the use of Queue?

  36. Module-36 Priority queues and heaps

    1. What is the practical example of a problem in data structure and its solution?

    2. What is Heap?

    3. How Heap is implemented with Arrays and what is Heap sort?

  37. Module-37 Abstract datatypes, classes and objects

    1. What is Data Structure and its operations and what are the different datatypes?

    2. What is OOPs and its use?

  38. Module-38 Classes and objects in Python

    1. What is a Class and Object and what are their examples?

    2. What is OOPs terminology and its example?

    3. What is the default argument function and what are the different "Special Functions" in Python?

  39. Module-39 User defined lists

    1. What is a List and how it is created?

    2. What are the different list operations and their examples?

  40. Module-40 Search trees

    1. What is a Binary Search Tree (BST) and its various aspects?

    2. What are different operation in BST with example and its complexity?

  41. Module-41 Memoization and dynamic programming

    1. What are Inductive Definitions, Functions and its Benefits?

    2. What is new recursive implementation in Indutive definition with example?

    3. What is Dynamic programming and why it is used?

  42. Module-42 Grid paths

    1. What is Grid path problem and how it is solved?

    2. What is the Combinational solution of Grid path problem?

    3. What is Inductive solution of Grid path problem?

    4. How Grid path problem is solved by Memorization and Dynamic programming?

  43. Module-43 Longest common subsequence

    1. What is Longest Common Subword(LCW) problem and what is Bryte Force Algorithm?

    2. What is Inductive structure in LCW?

    3. What is Longest common subsequence(LCS) problem and its applications?

    4. What is inductive structure in LCS?

  44. Module-44 Matrix multiplication

    1. What is Matrix multiplication(MM) problem and how matrices are multiplied?

    2. What is Inductive structure of MM problem and subproblem?

    3. Implementation of MM,DP and MM complexity

  45. Module-45 Wrap-up, Python vs other languages

    1. What are the advantages and disadvantages of Python in comparison to other languages?

    2. How memory space is allocated and deallocated in Python?

    3. What is Functional Programming?