CS 412 Introduction to Machine Learning
University of Illinois at Chicago, Fall 2018

Lecture time: TTh 2-3:15pm

Location: TBH 180G

Instructor: Prof. Elena Zheleva

Office hours: Wed 2-4pm, SEO 1140


TA1: Christopher Tran

Office hours: Mo 12-1pm, Th 3:30-4:30pm, TBH 190

Contact: ctran29@uic.edu

TA2: Zohreh Ovaisi

Office hours: Tue 11-1pm, TBH 190

Contact: zovais2@uic.edu


This course provides an introduction to machine learning, the study of systems that improve automatically based on data and past experience. The course will introduce common machine learning tasks, such as classification and clustering, and some of the successful machine learning techniques and broader paradigms that have been developed for these tasks. Topics include but are not limited to decision trees, nearest neighbors, linear models, support vector machines, neural networks, ensemble methods, k-means, and graphical models. The course is programming-intensive and an emphasis will be placed on tying machine learning techniques to specific real-world applications through hands-on experience.


Working knowledge of probability, linear algebra, calculus, and ability to (learn to) program in Python.

Important: There will be a quiz on prerequisites during the third lecture period (Tuesday, September 4th) to help you assess whether this course is for you. Anyone considering to take this course should come to class and take the quiz even if they are not registered yet.

Course materials

We will use Piazza for the course schedule, discussions, and materials, and Gradescope for grading.
Python is the programming language used for homework assignments.


Primary: A Course in Machine Learning by Hal Daume III (available online)
Understanding Machine Learning: From Theory to Algorithms by Shai Ben-David, Shai Shalev-Shwartz (available online)
Optional: Hands-On Machine Learning with Scikit-Learn & Tensorflow by Aurélien Géron (available at the library through Safari Books Online. Code on github.)

Student deliverables

Homework and projects - 40%
Midterm exam - 25%
Final exam - 35%


Date Topic Assigned Reading Announcements
8/28 Welcome to Machine Learning HW1 is out; Quiz on 9/4
8/30 Decision trees CIML 1, Syllabus
9/4 Quiz Math review, Stats review
9/6 Limits of learning CIML 2 Last day to drop class: 9/7
9/11 Nearest neighbors CIML 3.1-3.3, 3.5 HW1 due 11:59pm
9/13 The perceptron CIML 4. Optional: UML 9.1.1-9.1.2
9/18 Practical issues CIML 5 HW2 released on 9/16
9/20 Beyond binary classification (imbalances and multiclass) CIML 6
9/25 Beyond binary classification (ranking) CIML 6
9/27 Linear models CIML 7.1-7.4
10/2 Linear models + SVM CIML 7.5-7.7 HW2 due 11:59pm
10/4 Kernel methods CIML 11.1-2,11.4 HW3 posted
10/9 Non-linear SVM CIML: 11.5-11.6
10/11 Midterm review Midterm Practice Questions
10/16 Midterm exam
10/18 Probabilistic modeling CIML 9
10/23 Probabilistic modeling CIML 9
10/25 Probabilistic modeling CIML 9
10/30 Ensemble methods CIML 13
11/1 Ensemble methods CIML 13 HW4 posted
11/6 Unsupervised learning: clustering CIML 3.4, 11.3, 15.1
11/8 Unsupervised learning CIML 3.4, 11.3, 15.1-2
11/13 Neural networks CIML 10
11/15 Neural networks CIML 10 HW4 due 11:59pm
11/20 Neural networks Deep Learning: Chapter 1 HW5 posted on 11/18
11/22 Thanksgiving - no class!
11/27 Wrap up neural networks. Graphical models. K. Murphy's Introduction to directed graphical models
11/29 Graphical models Undirected graphical models by K. Murphy (19.1-19.3)
12/4 Fairness in ML NIPS 2017 tutorial by S. Barocas and M. Hardt
12/6 Final exam review Final exam practice questions HW5 due 11:59pm on 12/7
12/12 Final exam 3:30-5:30pm Location: LC C4