IFT6390B: Fundamentals of machine learning – Automne 2023 – taught in person

An introductory but very intensive class in machine learning. This is the anglophone section, 6390B; Guillaume Rabusseau teaches the french version of the class, 6390A, this same semester. It is also taught in winter by Pierre-Luc Bacon in french. This page contains relevant information on Dr. Mitliagkas’ fall version of the class.

Listed as IFT6390: Fondements de l’apprentissage machine

This is a graduate class that caters to an overwhelmingly international crowd. It is taught in english. Assignments, exams will be available in french and english. Students are always encouraged to submit their work and ask questions in their language of preference. For the equivalent class taught entirely in french, please see Guillaume Rabusseau’s IFT3395.

IMPORTANT: Please do not register for this class unless you have read and carefully considered all the class requirements listed in the prerequisites page.

We will add all registered students to Piazza and Gradescope. You will receive invitations and announcements to your email address associated with your registration. For the majority of you this is an email address that ends in @umontreal.ca. You should be able to access it here with your UdeM/Synchro credentials. If you do not have UdeM credentials, please contact UdeM’s IT support.

IMPORTANT: Make sure you learn how to use that email inbox and check it often. We will not be able to add you using alternative email addresses.

The following links will become active shortly before our first lecture.


Instructor: Ioannis Mitliagkas,

Teaching assistants: (TBA)

Registering and auditing

If you want to audit the class, please fill this form. You will get access to the course material, but you will not be able to submit work on Gradescope or be graded.


All of our communication will happen through the class Piazza page. Registered students will be added to the Piazza page automatically on the day before the first class.

Some office hours will happen on Zoom to accommodate remote students. You will receive an announcement.

Homework submission and evaluation will happen on Gradescope. You will be invited to the class’s Gradescope page automatically the day before classes start. If you are auditing, you will not be added to Gradescope and you will not be able to submit homeworks.

Important: Make sure that you learn how to use and are checking your @umontreal.ca email inbox. That is were you will receive announcements and invitations to class online services.

The class’s studium page will only be used for initial coordination with registered students until they get access to Piazza. There will be no discussions on Studium.

Important notice on email communication: This is a very large class, so the instructor will not be able to respond to individual questions about the class via email. Exclusively in the event that you have a question of a sensitive, personal nature: Please feel free to email the instructor. Please start the subject of your email with “[IFT6390]”; otherwise your email might be lost.

Class and lab times

The instructor’s lectures are on

Weekly labs led by a TA on

Updated information can always be found by following the instructions below “TROUVEZ L’HORAIRE D’UN COURS” at the bottom of this page.

Content and objectives of class

This course is an introduction to machine learning (ML), a field of research in artificial intelligence. The purpose of ML algorithms is to enable the machine to learn from examples. The focus of the course is classification and regression: we observe a set of pairs (observation, target) where the target is eg. a class and we try to predict the target corresponding to a new observation. The classic applications of these algorithms are in the field of pattern recognition (characters, image, speech, etc.). In recent years, several new fields of application have emerged: data mining, statistical analysis of textual data, quantitative management of financial portfolios, analysis of genetic expressions, etc. The subject of the course can be exploited in many fields of computer science.

The course will cover the following subjects: general notions (basic terminology, generalization, curse of dimensionality, capacity, classifier comparison), supervised algorithms (k-nearest neighbors, linear classifiers, neural networks, support vector machines, decision trees and regression, ensemble methods), unsupervised algorithms (principal component analysis, k-means method), overview of probabilistic graphical models.

Notions covered (indicative titles):


This is a sample of the first three labs from last year to get you started until you get access to this year’s material.


Please be advised that some details of this evaluation scheme might be adjusted slightly by the beginning of the semester.

Weekly quizzes (10%): We will have a weekly online quiz at the beginning of class every Wednesday of the semester. You will be able to take this quiz from home. It will consist of short questions about last week’s lecture and it will be administered on Gradescope. Once you start the quiz, you will have 15 minutes to finish it. We will have at least 12 quizes during the semester; your best 6 quiz scores will be used to compute your semester quiz score (10% of your final grade).

Homework (30%): 3 sets of homework (10% each) including some theoretical exercises, programming and experimentation. Most sets of homework will be submitted individually (each student working on their own) and some in teams of two.

Data competitions (30%): Two Kaggle competitions. The first one will span the first half of the class and count towards 10% of your grade and the second one will span the second half of the class and count towards 20% of your grade.

Lab midterm exam (10%): This timed exam will take place at a specific time and will test your knowledge of the lab material. You will be asked to program specific functions in Python and submit to Gradescope of autograging. For some more information and an example of last year’s lab midterm, please check the prerequisites page. We will have this exam in early October (exact date TBA).

Final exam (20%): Exam on the whole class material at the end of the semester. Exact date and format to be announced.

*For most of these evaluations you be able to submit your work and see your grades on Gradescope. See ‘Communication’ section for some info on access. *

Academic fraud and plagiarism

ATTENTION: The University of Montreal now has a strict policy in case of fraud or plagiarism. If an infraction is found, the professor is required to report to the director of the department. An administrative procedure is then automatically triggered with the following consequences: the offense is noted in your file, and a sanction is decided (which can be serious and go to dismissal in case of recidivism). It is important that you do the work yourself!