Programming, Data Structures and Algorithms in Python

Go to class
Write Review

Free Online Course: Programming, Data Structures and Algorithms in 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. Programming, Data Structures and Algorithms in Python is taught by Madhavan Mukund.

Overview
  • 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 denitions: memoization
    Dynamic programming: examples
    Other programming languages: C and manual memory management
    Other programming paradigms: functional programming