Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Chennai Mathematical Institute

Programming, Data Structures and Algorithms in Python

Chennai Mathematical Institute and NPTEL via Swayam

Not Currently Offered

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Eight-week introductory computer science course that teaches programming in Python alongside the core data structures and algorithms. Starting from installing Python and writing gcd with variables, conditionals, loops and functions, it moves through types, strings, lists and tuples, the Python memory model, binary search, inductive definitions and elementary sorting, then asymptotic complexity and O() notation, merge sort and quicksort, dictionaries, higher-order functions such as map, filter and list comprehension, exception handling, file input/output and string processing, backtracking with N Queens, scope and nested functions, stacks, queues and heaps, abstract datatypes, classes and objects, linked lists, binary search trees and height-balanced trees, and finally memoization and dynamic programming, with a closing look at C, manual memory management and functional programming. Suitable for learners new to programming who want a rigorous algorithmic foundation.

Syllabus

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 de nitions: 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 de nitions: memoization
Dynamic programming: examples
Other programming languages: C and manual memory management
Other programming paradigms: functional programming

Taught by

Madhavan Mukund

Tags

Reviews

3.5 rating, based on 2 Class Central reviews

Start your review of Programming, Data Structures and Algorithms in Python

  • Anonymous
    Right now I am taking the course along with my Btech 2nd year studies. It's really hard to find time for studying. The course is actually nice but you should at least have a programming experience in any language or else it would be hard to cope up with the syllabus.
  • Anonymous
    Good course for Python beginners to learn the basics, syntax and algorithms of Python. One can take it at one's own pace and moreover can earn a certificate by writing the exam.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.