Home · NPTEL companion · Programming, Data Structures And Algorithms Using Python
Programming, Data Structures And Algorithms Using Python
NPTEL · Chennai Mathematical Institute · July-December 2026 run · read 23 Oct 2026
Official course page · Lecture videos on nptel.ac.in (45 lessons)
- Teacher
- Prof. Madhavan Mukund, Chennai Mathematical Institute
- Discipline
- Computer Science and Engineering
- Level
- Undergraduate
- Length
- 8 weeks
- Runs
- 20 Jul 2026 – 11 Sep 2026
- Enrolment closed
- 3 Aug 2026
- Exam registration closed
- 17 Aug 2026
- Exam date (as the course page prints it)
- Sat 19 Sep 2026
- Credit points (course page)
- 3
- Learners enrolled (read 23 Oct 2026)
- 44,026
- Exam registrations (read 23 Oct 2026)
- 12,150
- Course id
- noc26_cs109
Week by week (official course layout)
- 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
Topics as the course page lists them. Weekly assignment due dates are shown only inside the course after a SWAYAM sign-in, so they are not here — check the course page every week.
This course's certificate rule
Average assignment score = 25% of average of best 6 assignments out of the total 8 assignments given in the course. Exam score = 75% of the proctored certification exam score out of 100 Final score = Average assignment score + Exam score Please note that assignments encompass all types (including quizzes, programming tasks, and essay submissions) available in the specific week. YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.
As printed on the course page. General rules: NPTEL FAQ.
Credit for your degree
The course page prints 3 credit points, but your own university decides whether and how much it counts — ask your department before the semester starts. How SWAYAM / NPTEL credit transfer works
Shishya never gives answers to graded NPTEL assignments.
Found a mistake, or are you from this institution? Tell us at corp@surgesoftware.co.in. We check every report against the official source.