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
Algorithms: Design and Analysis, Part 2Stanford University via Coursera Discrete Optimization
University of Melbourne via Coursera Conception et mise en œuvre d'algorithmes.
École Polytechnique via Coursera Computability, Complexity & Algorithms
Georgia Institute of Technology via Udacity Discrete Inference and Learning in Artificial Vision
École Centrale Paris via Coursera