Programming, Data Structures and Algorithms in Python
Chennai Mathematical Institute and NPTEL via Swayam
-
93
-
- Write review
This course may be unavailable.
Overview
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 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 denitions: 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
-
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.
-
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.