Applications for the September 2026 Qualifier are open. Apply by November 21, 2025. Apply now
Diploma Level Course

Programming, Data Structures and Algorithms using Python

A good foundation course to introduce basic concepts in the design and analysis of algorithms as well as standard data structures, using Python as a base language for implementing these.

Code BSCS2002
Credits 4 Credits
Type Programming
Prerequisites None
Core Competencies

What You'll Learn

View Course Videos
  • Python Refresher

  • Complexity, Notations, Sorting and Searching Algorithms

  • Arrays, Lists, Stacks, Queues, Hashing

  • Graph Algorithms

  • Graph Algorithms (Continued)

  • Union-Find Data Structure, Priority Queue, Heap, Binary Search Tree

  • Balanced Search Tree, Greedy Algorithms

  • Divide and Conquer

12-Week Roadmap

Course Structure & Syllabus

For details of standard term assessment timelines and exam structures, visit our Academics page.

WEEK 1
Dynamic Programming
WEEK 2
String or Pattern Matching Algorithms
WEEK 3
Network Flows, Linear Programming, Class of Algorithms
WEEK 4
Summary
Faculty & Experts

About the Instructors

Madhavan Mukund

Madhavan Mukund

Director , Chennai Mathematical Institute

Madhavan Mukund studied at IIT Bombay (BTech) and Aarhus University (PhD). He has been a faculty member at Chennai Mathematical Institute since 1992.His main research area is formal verification. He has active research collaborations within and outside India and serves on international conference programme committees and editorial boards of journals.

He has served as President of both the Indian Association for Research in Computing Science (IARCS) (2011-2017) and the ACM India Council (2016-2018). He has been the National Coordinator of the Indian Computing Olympiad since 2002. He served as the Executive Director of the International Olympiad in Informatics from 2011-2014.

In addition to the NPTEL MOOC programme, he has been involved in organizing IARCS Instructional Courses for college teachers. He is a member of ACM India's Education Committee. He has contributed lectures on algorithms to the Massively Empowered Classroom (MEC) project of Microsoft Research and the QEEE programme of MHRD.