CS771: Introduction to Machine Learning - 2021-22-I (Fall semester)
Lecture Timings: Mon, Wed, Fri, 6PM (TBA)

NOTE: Add requests will be processed at regular intervals so please apply for the course as early as you can. If you delay in applying, seats may get filled up and your add request may get rejected even if you are towards the top of the priority lists (see below for details of priority lists).

  1. What are the prerequisites of this course?
    There are no prerequisites of this course. In earlier offerings, CS210/ESO207 and MSO201 used to be prerequisites for this course but they are no longer prerequisites. However, fluency with concepts in probability and statistics, linear algebra, calculus and real analysis, and programming ability are absolutely essential for this course even though the formal prerequisites do not reflect these. We will use the Python language for most programming tasks in this course so you should familiarize yourself with it.

  2. I am interested in doing this course. How can I register for this course?
    Preregistration period is Apr 9-15, 2021 and add-drop period is Jul 30- Aug 06, 2021
    1. All UG students (whether CSE or non-CSE): must register via Pingala either during course preregistration or else during add-drop
    2. Existing PG students: must register via Pingala either during course preregistration or else during add-drop
    3. New PG students (admitted in Jul 2021): must do manual registration by meeting the instructor and getting signatures on registration form or else during add-drop (assuming an offline semester)
    Note that manual registration requests will not be entertained for existing students. Existing students must register online via Pingala, either during preregistration, or during add-drop.

  3. I have heard that there is a lot of demand for this course. What will be done if there are more add requests than there are seats?
    Indeed, this course is in heavy demand and we are seldom able to fulfill all requests. Regretfully, this is likely to continue. In order to ensure a fair and orderly processing, we will follow a priority order (given below) while processing add requests. These priority lists have been decided keeping in mind graduation requirements (for example, students for whom this course is compulsory/part of a basket have been given higher priority) and graduation deadlines (for example, students expected to graduate in 2022 have been given higher priority).
    Total number of seats: 200
    Seat breakup: 100 seats for UG students, 100 seats for PG students
    Definition of UG/PG: As per the DoAA website, we will use the following categorization
    BT, BS, MSc programs are UG programs.
    Dual programs such as BT-MT, BS-MS, BS-MT, BT-MS, BT-MDes, BS-MDes, BT-MBA, BS-MBA, MSc-PhD are also UG programs.
    MT, MS, MDes, MBA, PhD are PG programs.

    Priority list for PG students (80 seats)
    Priority list for UG students (80 seats)
    1. PG students (MT, MS, PhD) of the CSE department of Y19 or earlier batches
    2. PG students (MT, MS, PhD) of the CSE department of Y20 batch and those taking admission in Jul 2021
    3. PG students (any program) of other all departments*

    * Please see above for definition of UG and PG programs. A student enrolled in a UG program will be considered a UG student and one enrolled in a PG program will be considered a PG student.

    1. UG students of Y18 or earlier batches who have been accepted to the CSE ML minor program*
    2. UG students of Y19 batch who have been accepted to the CSE ML minor program*
    3. UG students of Y18 or earlier batches who are either in the CSE BT or CSE BT-MT programs or else have been accepted to the CSE double major program#
    4. UG students of Y19 batch who are either in the CSE BT or CSE BT-MT programs or else have been accepted to the CSE double major program#
    5. UG students of Y18 or earlier batches not covered above
    6. UG students of Y19 batch not covered above
    7. UG students of Y19 batch who are either in the CSE BT or CSE BT-MT programs or else have been accepted to the CSE double major program#
    8. UG students of Y19 batch not covered above

    * Only students who have actually been accepted into the ML minor program (as verified using published lists from the DoAA office) will be counted here. Students who are in the process of applying for the minor or trying to get a "retrospective" minor by first doing courses and then claiming a minor will not be counted here. Students accepted into other CSE minors e.g. Algorithms will also not be counted here.
    # Only students who have been actually accepted into the CSE double major program (as verified using published lists from the DoAA office) will be counted here. Students still in the process of applying for inclusion into the double major program will not be counte here.


  4. How will ties be broken within a given priority level?
    If while processing requests of a certain priority level we find more requests at that priority level than there are seats left, then we will use the first-come-first-serve (FCFS) policy to break ties. For manual registrations, this will be indicated naturally by the time the student visits the instructor. For online requests this will be indicated by the time the request was made on Pingala.

  5. I did do preregistration and got accepted to the course but I dropped the course. However, now I think I do want to do the course. What should I do now?
    You should apply again at the time of add-drop. We will process add requests received during add-drop using the same priority lists as mentioned above. However, you will not get any additional preference during add-drop just because your add request was accepted earlier.

  6. I did do preregistration and got accepted to the course but my registration got cancelled. What should I do now?
    You should apply again at the time of add-drop. We will process add requests received during add-drop using the same priority lists as mentioned above. However, you will not get any additional preference during add-drop just because your add request was accepted earlier.

  7. Why was FCFS used as a tie breaker and not CPI or grades in some course?
    In previous semesters, we did indeed use grades in ESO207 as a tie-breaker since ESO207 used to be a prerequisite for this course back then. However, since CS771 has no prerequisites anymore, FCFS is as objective an alternative for a tie-breaker as any. We understand that other priority lists and other forms of tie-breaking are possible. We also understand that it is natural for an individual student to feel that some other priority/tie-breaking method would have been preferable, especially if that priority list/tie-breaking method could have put that student towards the top of the list. However, we can only adopt one priority list and one tie-breaking method and we feel that the ones we have chosen are fair and objective. There is no getting around the more basic fact that the demand for this course greatly exceeds the teaching resources (faculty, TA etc) we have. No matter which priority list/tie-breaking method we choose, we are bound to turn down several add requests.

  8. What can I expect to learn from this course?
    Please take a look at the FCH [link] to see a tentative list of topics that we will cover in the course. The course will seek to offer a broad exposure to topics in machine learning with some emphasis on areas that are currently prominent. Please note that although we will cover neural networks of various kinds, this is not a course focused on deep learning alone.

  9. Is this a theoretical course or an applied course?
    The course will involve both, understanding the statistical and algorithmic foundations of machine learning, as well as looking at applications of learning algorithms, indeed by implementing some of them. In order to get the maximum benefit from this course, you will be required to have a high degree of fluency and ease while working with statistical distributions, concepts from linear algebra, calculus and real analysis, and basic algorithmic tools. The course will also require the ability to code up machine learning algorithms. There will be programming assignments, as well as pen-and-paper quizzes and exams. These aspects of the course will all touch upon theoretical, as well as applied aspects of machine learning.

  10. How do I brush up my basics (prob-stat, algebra, calculus etc)?
    For all the topics we mentioned above, there are plenty of resources available online using which you can come up to speed on these topics. During the course we will cover these topics briefly but we cannot spend any length of time on these basic topics. You will have to fill up any gaps in your understanding of these topics yourself. A few of our department courses have lecture notes/slides on some of these topics.
    http://www.cse.iitk.ac.in/users/piyush/courses/ml_autumn16/ML.html
    http://web.cse.iitk.ac.in/users/purushot/courses/olo/2016-17-w/scribes.php

  11. What programming language would be used in the course assignments?
    For most assignments, Python will be the language of choice. We will also expect fluent usage of libraries like numpy, scipy, matplotlib, as well as useful tools such as Jupyter.

  12. I really want to do this course but my add request has not been accepted. Can I meet you sometime in this regard?
    Add requests will get processed as per the priority rules mentioned above - the priority lists will not be amended to suit an individual student. If you feel that you have been unjustly denied a seat in the course , please send me an email with your query and I will reply to that email.
    Alternatively, you are welcome to audit the course even if you are not registered. Please see an FAQ item on this below.


  13. Can I audit the course?
    If you are a student or employee at IITK then yes, of course. IITK students and employees are most welcome to audit the course. As auditor you will be able to attend the lectures, have access to the lecture material, assignment, examination and quiz questions and solutions thereto. However, due to administrative constraints, we would be able to grade assignments for, and administer quizzes and examinations to, only registered students, and not auditors. Nevertheless, since auditors will have access to both the questions and solutions, they can attempt the questions on their own and perform self evaluation once solutions are released.

  14. What is the procedure to audit the course?
    I will announce this closer to the class dates.

  15. Can the class timings be changed? I have a preoccupation that clashes with one of the lecture slots.
    The Dean of Academic Affairs and the Pingala teams have been extremely supportive and have accepted our request to schedule the lectures at an unusual hour. This timing completely avoids popular courses such as ESO, HSO and MSO and in general does not clash with any regular institute course activities. We regret that we are unable to entertain any requests for changing the lecture slots.