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)

  1. 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
  2. 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
  3. Week 3: Basic algorithmic analysis: input size, asymptotic complexity, O() notation Arrays vs lists Merge sort Quicksort Stable sorting
  4. Week 4: Dictionaries More on Python functions: optional arguments, default values Passing functions as arguments Higher order functions on lists: map, lter, list comprehension
  5. Week 5: Exception handling Basic input/output Handling files String processing
  6. Week 6: Backtracking: N Queens, recording all solutions Scope in Python: local, global, nonlocal names Nested functions Data structures: stack, queue Heaps
  7. 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
  8. 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.

All exam dates and the most-enrolled courses

Found a mistake, or are you from this institution? Tell us at corp@surgesoftware.co.in. We check every report against the official source.