Madhavan Mukund



Programming and Data Structures with Python
Sep–Dec 2021

Programming and Data Structures with Python

Sep–Dec 2021


Administrative details

  • Instructor: Madhavan Mukund

  • Teaching Assistants: Avirup Das, Shiuli Subhra Ghosh

  • Lectures and Tutorials: Two live online classes each week. Tutorials as needed.

  • Evaluation:

    • Quizzes on Moodle, programming assignments, final exam

    • Weightage approximately 10%, 50%, 40%, to be confirmed

    • Copying is fatal

  • Text and reference books:

    • We will not be following any specific text book. There are plenty of resources online. You can find a list of books at the following link: PythonBooks

    • The official Python tutorial is a good place to start learning Python if you already have some programming background.


Course plan

This list is approximate and subject to change.

  • Programming in Python

    • Names, values, control flow
    • Lists, dictionaries, strings
    • Exception handling, input/output and files
    • Basics of object-oriented programming
  • Data structures and algorithmic techniques

    • Searching and sorting
    • Quantifying efficiency
    • Loop invariants
    • Stacks, queues, priority queues, heaps
    • Backtracking
    • Balanced search trees
    • Dynamic programming
  • Python for data science

    • Processing data from tables, displaying charts and graphs
    • numpy, pandas and matplotlib libraries


Lectures