Madhavan Mukund

Programming and Data Structures with Python
Aug–Nov 2022

Programming and Data Structures with Python

Aug–Nov 2022

Administrative details

  • Instructor: Madhavan Mukund

  • Teaching Assistants: Shourjya Basu, Samiparna Biswas, Vishwa Prakash H V

  • Evaluation:

    • Quizzes, 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


Practice Assignments

For evaluation