Modern algorithm design

Course description

MAD is designed as a second course in analysis and design of algorithms, a follow-up to the standard undergrad course on the same topic (ADA). Computation has witnessed a major paradigm shift in the last decade due to advancements in data sensing and collection technology. In contrast to classical computational problems which focused on solving a specific task at hand, like finding shortest paths or sorting an array of numbers, modern algorithm design needs to process and analyze huge amounts of data - which are often available only in a restricted way . On the other hand, machine learning promises to have a major impact on how we solve real world problems and efficient algorithms for numerical optimization forms a backbone of such techniques . This course will serve as an introduction to these complementary topics - Algorithms for Big Data and Optimization - through the lens of theory. We shall be covering topics like hashing, streaming, dimensionality reduction, linear programming, convex optimization and online optimization.

Pre-requisite

Undergraduate Algorithms (ADA) is a definite pre-requisite for this course. However, it is desirable that takers would have some foundation of probability and linear algebra.

Please make yourself aware of IIIT-D's academic dishonesty policy.

Email-etiquette to be followed while mailing the Course Instructor or TA. These are also to be kept in mind while posting on Google Classroom.

Assignment Template

Instructor

Syamantak Das

B-512, New Academic Block

Email : syamantak@...

Office hours : Only by appointment (drop an email)

Teaching Assistant

Sagnik Chatterjee

B-513, New Academic Block

Email : sagnikc@...

Office hours : To be decided

Evaluation

Assignments : 35%

Worksheets : 15%

Mid-sem : 25%

End-sem : 25%

Resources

[1] Probability and Computing, M.Mitzenmacher, E. Upfal


Lectures

TUTORIALS

Problem SHeets

Problem Sheets

Exams