Algorithms (CS610 @IITGN)

๐Ÿ‘‹ Welcome to the notes and resources page for CS 610: Algorithms. The class plan is right here, and you can also jump to:

Class Plan

Logistics

๐Ÿ“…

The timings of the classes are: 2:05-3PM on Mondays, Wednesdays, and Thursdays. The first class will be on the 4th of August.

๐Ÿ”—

Link to the Zoom sessions (passcode: 424242)

๐Ÿ“บ

These sessions will be streamed over YouTube and the recordings can be accessed from this YouTube playlist.

๐Ÿ•ฐ๏ธ

Office hours: Iโ€™ll be generally available on this Discord Server - please join in (Discord is like WhatsApp but better ๐Ÿคฉ - if you don't already use it you can just login from the web) to ask your questions here, and hopefully meet the other course participants as well.

Inquiries over email (neeldhara.m@iitgn.ac.in) and over one-on-meetings are also welcome, but it's probably just simpler to use Discord :)

Grading Policy

  1. We will have a short quiz during every class based on the lecture using the Itempool platform. Each quiz will have between two and six questions and will be worth 2-6 points. Your overall score from the quizzes will be scaled out of 75.
  2. At least half of these questions will be just a simple test of attention and you should be able to get them right if you are around and awake ๐Ÿ˜ƒ If you do want to prepare for the quizzes in advance, the topics for upcoming classes will be provided typically a week in advance on this course homepage.

    โš ๏ธ

    Please respect the spirit of the quizzes and comply with the institutional honor code. Discussion and clarifications are encouraged in general, BUT do not discuss the quiz questions while the quizzes are live!

  3. There will be a mid-semester exam with a weightage of 10 points.
  4. There will be an end-semester exam with a weightage of 15 points.
  5. These exams will consist of multiple-choice questions and questions with numeric answers.
  6. There are no assignments, and therefore, no deadlines! Just show up and enjoy. ๐ŸŽ‰

Prerequisites and References

Prerequisites:

Elementary Data Structures and Algorithms โ€” specifically, asymptotic notation, arrays, lists, stacks, queues, search trees, trees, graphs; sorting, searching, BFS/DFS.

References:

  1. J. Kleinberg and E. Tardos, Algorithm Design, Pearson
  2. Jeff Erickson, Algorithms
  3. R Motwani and P. Raghavan, Randomized Algorithms, Cambridge University Press
  4. D. P. Williamson and D. B. Shmoys, The Design of Approximation Algorithms
  5. Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel Lokshtanov, Daฬniel Marx, Marcin Pilipczuk, Michaa Pilipczuk and Saket Saurabh, Parameterized Algorithms, Springer