Programming, Data Structures and Algorithms in Python
Offered By: Chennai Mathematical Institute via Swayam
Course Description
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
Related Courses
2D image processingHigher School of Economics via Coursera Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera AWS Alexa Skill Builder Essentials
A Cloud Guru Azure Cosmos DB Deep Dive
A Cloud Guru PostgreSQL Administration Deep Dive
A Cloud Guru