This course is an advanced form of an introductory algorithms course, and is meant to have a thorough grounding in core Algorithms required for pursuing PG degree in Computer Science. The course covers topics such as asymptotic notation, recurrence relation, graph algorithms, heaps, dynamic programming, greedy algorithms, divide and conquer, NP-completeness where the undergraduate contents of each topic is first reviewed in a fast-paced manner, and is followed by some advanced content.
Open only to M.Tech. and Ph.D. students (recommended for students with inadequate background in Algorithms).
1. The student is able to design and analyse algorithms using techniques like divide and conquer, greedy and dynamic programming.
2. The student is able to use standard data structures like heaps, trees and graphs for designing algorithms.
3. The student is able to prove NP-completeness of problems using reductions.
4. The student is familiar with modern techniques to handle intractable problems like randomization, approximation, backtracking search.
Evaluation will be based on in-class short online quizzes (to be taken during lectures and tutorials), group homeworks, closed-book online proctored midsem and endsem exams. We will follow a flexible policy to let students focus more on exams or homeworks, as per their choice.
The following algorithm will be used to calculate your cumulative score.
Quizzes during lectures will happen via Google Forms from 9:00 to 9:15am and will be announced on Classroom at 9:00am. Submission window closes at 9:18am to allow network issue and server load.
Google servers often take some to accept Google Form submissions, and there are network related latency issues as well. If you try to submit at 9:16am, you may miss the deadline due to such issues. Do so at your own risk. Quizzes during tutorials will happen in the same manner but start at 2:30pm.
All office hours will take place on the Meet Link given on Classroom.
Debajyoti Bera - dbera@ - Monday 4-5pm (email me if you want meet at some other time)
Suryendu Dalal - suryendud@ - Monday 6-7pm
None - Tuesday
Himanshu Singh - himanshu17291@ - Wednesday 5-6pm
Suryendu Dalal - suryendud@ - Thursday 7pm (review sessions, only for interested students)
Tapadeep Chakraborty - tapadeep20017@ - Friday 3:30-4:30pm
Rishi Sharma - rishi17260@ - Saturday 4-5pm
None - Sunday
Students who want to discuss doubts, ask questions, pose problems, cross check ideas, share additional resources may want to sign up on the slack channel mentioned on Classroom (Important: Use your @iiitd.ac.in email address to sign up.) . All the TAs are available on the channel, so some TA will respond to your query within a few days. Students are also encouraged to respond to one another. Many courses use slack channel for student-TA academic discussions -- you too may find it useful.
Joining the channel is not compulsory. Please understand that this is an informal mode of group discussion and I am not on this channel.