Algorithms for Data Science, Jan-May 2026
- Lecturer: Ravishankar Krishnaswamy
- Location: TBD
Course Objectives
The students should be able to:
- Identify if a given algorithmic problem has a structure that makes it solvable.
- Systematically analyse the complexity class of algorithms, and grasp concepts of computational hardness, i.e. NP-completeness etc.
- Identify the conditions for applying various methods for solving the problem.
- Be aware of various algorithmic techniques for modeling and solving problems (randomized algorithms, sketching, streaming, greedy, divide&conquer, dynamic programming, etc.).
- Deconstruct data-science problems into their fundamental computational components and build algorithms for the same.
Tentative Topics
Algorithmic Design Techniques:
- Dynamic Programming
- Greedy Algorithms
- Divide and Conquer
Optimization:
- Gradient Descent and Variants
Algorithms for Big Data:
- Sketching Algorithms
- Streaming Algorithms
Randomized Algorithms:
- Balls and Bins
- Load Balancing
Machine Learning Foundations:
High Dimensional Data:
- High Dimensional Geometry
- Locality Sensitive Hashing (LSH)
Announcements
- Course details coming soon.