Programming, Data Structures and Algorithms using Python - NPTEL Course Weekly notes and programs for the Programming, Data Structures and Algorithms using Python - NPTEL Course. Week 1 Lecture 1: Greatest Common Denominator Lecture 2: Improved GCD Lecture 3: Euclids Algorithm for GCD Week 2 Lecture 1: Assignment Statements, Basic Types Lecture 2: String Lecture 3: Lists Lecture 4: Control Flow Lecture 5: Functions Lecture 6: Examples Programming Assignment Week 3 Lecture 1: More about range() Lecture 2: Manipulating Lists Lecture 3: Breaking out of a Loop Lecture 4: Arrays vs Lists, Binary Search Lecture 5: Efficiency Lecture 6: Selection Sort Lecture 7: Insertion Sort Lecture 8: Recursion