Fundamentals of Machine Learning

ECE 4200
Fundamentals of Machine Learning

Instructor: Jayadev Acharya, 382 Rhodes Hall

Office hours (Rhodes 310):
Mo 1.15-1.45 Jayadev Acharya
Tu 4.30-6.00 Huanyu Zhang
We 4.30-6.00 Ziteng Sun
Th 1.30-3.00 Yuhan Liu
Fr 4.00-5.30 Sourbh Bhadane

Lectures: Mo, We 8.40-9.55, Phillips Hall 101
Discussion: Fr 9.05-9.55, Phillips Hall 101


The course is devoted to the understanding how machine learning works. We will gain hands on experience (yes, there is coding) as well as an understanding of the theoretical underpinnings of the methods.

Prerequisites: Linear Algebra (Math2940 or equivalent), Basic Probability and Statistics (ECE3100, STSCI3080, ECE3250 or equivalent). The discussion sessions will be devoted to reinforce various concepts that we will not cover but use in the lectures.


Assignments: 30%
Weekly assignments, assigned Wednesdays due Sunday

Miniproject: 22.5% (kaggle competition)

Midterm: 20%

Final: 27.5%

Late submission policy: TBD

We will use Piazza for announcements, and discussions. We will use CMS for uploading materials, and assignments.


We will take materials from various sources. Some books are:
  • Pattern Recognition and Machine Learning, Christopher Bishop
  • A Course in Machine Learning, Hal Daume III (available here)
  • Machine Learning: a Probabilistic Perspective, Kevin Murphy (available online at Cornell Library)
  • The Elements of Statistical Learning: Trevor Hastie, Robert Tibshirani, Jerome Friedman (available here)
  • Machine Learning, Tom Mitchell


We will use python as the programming language. Prior experience with python can be helpful, but not necessary. Please install Python (, and play around. We will use scipy and sci-kit-learn packaces, and Jupyter Notebook. We will post on piazza instructions about them.