Programming, Data Structures And Algorithms Using Python

Go to class
Write Review

Free Online Course: Programming, Data Structures And Algorithms Using Python provided by Swayam is a comprehensive online course, which lasts for 8 weeks long. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from Swayam. Programming, Data Structures And Algorithms Using Python is taught by Prof.Madhavan Mukund.

Overview
  • 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 files. As far as data structures are concerned, the course covers Python dictionaries as well as classes and objects for defining user defined datatypes such as linked lists and binary search trees.INTENDED AUDIENCE:Students in any branch of mathematics/science/engineering, 1st yearPREREQUISITES: School level mathematics.INDUSTRY SUPPORT: This course should be of value to any company requiring programming skills.ABOUT CMI:Click here

Syllabus
  • Week 1
    Informal introduction to programmin, algorithms and data structures viagcd
    Downloading and installing Python
    gcd in Python: variables, operations, control flow - assignments, condition-als, loops, functions

    Week 2
    Python: types, expressions, strings, lists, tuples
    Python memory model: names, mutable and immutable values
    List operations: slices etc
    Binary search
    Inductive function denitions: numerical and structural induction
    Elementary inductive sorting: selection and insertion sort
    In-place sorting

    Week 3
    Basic algorithmic analysis: input size, asymptotic complexity, O() notation
    Arrays vs lists
    Merge sort
    Quicksort
    Stable sorting

    Week 4
    Dictionaries
    More on Python functions: optional arguments, default values
    Passing functions as arguments
    Higher order functions on lists: map, lter, list comprehension

    Week 5
    Exception handling
    Basic input/output
    Handling files
    String processing

    Week 6
    Backtracking: N Queens, recording all solutions
    Scope in Python: local, global, nonlocal names
    Nested functions
    Data structures: stack, queue
    Heaps

    Week 7
    Abstract datatypes
    Classes and objects in Python
    "Linked" lists: find, insert, delete
    Binary search trees: find, insert, delete
    Height-balanced binary search trees

    Week 8
    Effcient evaluation of recursive definitions: memoization
    Dynamic programming: examples
    Other programming languages: C and manual memory management
    Other programming paradigms: functional programming