CMSC 422 (Section 0201): Introduction to Machine Learning

University of Maryland, College Park, Spring 2022
Instructor: Soheil Feizi


Soheil Feizi,
office: 4202 IRB

Course Assistant


This course provides a broad introduction to machine learning and statistical inference. We will attempt to cover the following topics:

  • Supervised Learning

    • Decision trees and inductive bias

    • Geometry and nearest neighbors

    • Perceptron

    • Beyond binary classification

    • Linear models and gradient descent

    • Support Vector Machines

    • Naive Bayes models and probabilistic modeling

    • Neural networks

    • Kernels

    • Ensemble learning

  • Unsupervised Learning

    • Clustering

    • Expectation-Maximization (EM)

    • Principal Component Analysis (PCA)

  • Advanced Topics (if time permits)

    • Robustness against Adversarial Examples

    • Fairness

    • Interpretability of Models

Note that this is a tentitive list and we may add or remove some topics as it fits.


Lectures are on Tuesdays and Thursdays, 3:30pm-4:45pm, in IRB 0318.

Students are strongly encouraged to attend all the lectures. Relevant notes will be posted couple of hours after each lecture.

Office Hours

The instructor and the course assistant will provide weekly office hours.

  • Soheil Feizi: Tuesdays, 4:45pm-5:30pm, 4202 IRB Building

  • TA office hours, Monday, Thursday 9:30 am-10:30 am (on zoom; contact TAs for the link)


Our primary source of readings will be A Course in Machine Learning, a collection of notes by Hal Daumé III, which provides a gentle and thorough introduction to the field of machine learning.


Minimum grade of C- in CMSC320, CMSC330, and CMSC351; and 1 course with a minimum grade of C- from (MATH240, MATH461); and permission of CMNS-Computer Science department.

CMSC 422 is a mathematical course. Linear algebra and probability background are required. You must be able to take derivatives by hand (preferably of multivariate functions). You must know what the chain rule of probability is, and Bayes’ rule. More background is not necessary but is helpful: for instance, dot products and their relationship to projections onto subspaces, and what a Gaussian is. We provide some reading material to help you refresh your memory, but if you haven't at least seen these things before, you will need to invest a significant amount of time to catch up on math background.

We will make extensive use of the Python programming language. It is assumed that you know or will quickly learn how the program in Python. You should understand basic computer science concepts (like recursion), basic data structures (trees, graphs), and basic algorithms (search, sorting, etc.).

Course Discussions

Ask and answer questions, participate in discussions and surveys, contact the instructors, and everything else on Piazza. Email course TAs to get the access code.

Course requirements and grading


  • Assignments will provide you an opportunity to think about the material presented in lectures. You are allowed and encouraged to work in groups but you must prepare and submit your solutions independently.

  • Assignments should be submitted through Canvas. Late assignments are not allowed.


  • We will have one midterm and one final exam. The midterm exam will be in class on March 3. Exams will cover material in the previous lectures and will be open notes (but closed book). All notes must be on one sheet of paper (double sided), either printed or handwritten.

Final Project

  • We will have a final project for this course. The project will be done in groups (three to five students per group) focusing on deeper understanding an advanced machine learning problem. We will have final project presentations and report. For excellent projects, I keep the right to increase the project weight for some groups.


  • Homework and Programming Assignments 30%

  • Midterm exam 25%

  • Final exam 35%

  • Project 10%

Accommodations and Policies

You can find UMD's course policies here.

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Accessibility and Disability Services (ADS, formerly DSS) within the first TWO weeks of the semester.

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:

  • Make a reasonable attempt to inform the instructor of his/her illness prior to the class.

  • Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 10(j) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.

If you observe religious holidays during the course, please notify course staff within the first two weeks of the semester.

Course Evaluations

Course evaluations are important and that the department and faculty take student feedback seriously. Students can go to the link to complete their evaluations.