ECE 364: Programming Methods for Machine Learning (Fall 2025)

Teaching Staff
Prof. Corey SnyderInstructorEmail: cesnyde2[at]illinois.edu |
Kamila AbdiyevaGraduate Teaching Assistant |
Ayush BarikUndergraduate Course Assistant |
Class Time & Location
Class Time: Tuesday, Thursday 9:30AM-10:50AMLocation: ECEB 3081 (Electrical and Computer Engineering Building)
Course Information
In this course, you will learn how to use auto-differentiation tools like PyTorch, how to leverage them for basic machine learning algorithms (linear regression, logistic regression, deep nets, k-means clustering), and how to extend them with custom methods to fit your needs. Auto-differentiation is one of the most important tools for data analysis and a solid understanding is increasingly important in many disciplines. In contrast to existing courses that focus on algorithmic and theoretical aspects, here we focus on studying material that permits deploying auto-diff tools to your area of interest.
Pre-requisites: Math 257 (Linear Algebra with Computational Applications) or equivalent, basic probability, and proficiency in Python.
Recommended Reference Texts: (1) Pattern Recognition and Machine Learning by Christopher Bishop
(2) Machine Learning: A Probabilistic Perspective by Kevin Murphy
(3) Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville
Please note that these books are more comprehensive than the material covered in this class.
Course Deliverables:
(1) Homeworks (submission on Gradescope).
(2) Midterm Exams: There will be two midterm exams.
(3) Final Project
Final Project:
More details to come.
Homework and Late Policy:
We will drop the lowest homework grade (1 assignment) for each student. Late submissions will be deducted 20% per day that the assignment is submitted late.
Grading:
25% Homeworks; 25% each Midterm; 25% Final Project
Office Hours
Ayush | Kamila | Prof. Snyder |
Tuesdays: 1-2pm | Wednesdays: 12-1pm | Thursday: 12-1pm |
ECEB 2034 | ECEB 2034 | ECEB 2034 |
Lectures
Lecture recordings may be found here.
The syllabus is subject to minor changes.
Event | Date | Description | Materials | Assignments | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Lecture 1 | 08/26/2024 | Course introduction |
|
|||||||
Lecture 2 | 08/28/2024 | PyTorch basics |
|
|||||||
Lecture 3 | 09/02/2024 | Linear algebra and calculus review |
|
|||||||
Lecture 4 | 09/04/2024 | Matrix calculus and primal optimizations |
|
HW1 Latex Files, HW1 PDF, HW1 Solutions | ||||||
Lecture 5 | 09/09/2024 | Automatic differentiation 1 (gradient descent) |
|
|||||||
Lecture 6 | 09/11/2024 | Automatic differentation 2 (computational graphs and backpropagation) |
|
HW2 Latex Files, HW2 PDF, HW2 Solutions | ||||||
Lecture 7 | 09/16/2024 | Automatic differentiation 3 (backpropagation and PyTorch) |
|
|||||||
Lecture 8 | 09/18/2024 | Linear regression 1 |
|
HW3 Latex Files, HW3 PDF, hw_p2.zip, HW3 Solutions | ||||||
Lecture 9 | 09/23/2024 | Linear regression 2 |
|
|||||||
Lecture 10 | 09/25/2024 | Logistic regression 1 |
|
HW4 Latex Files, HW4 PDF, HW4 Solutions | ||||||
Lecture 11 | 09/30/2024 | Logistic regression 2 |
|
|||||||
Lecture 12 | 10/02/2024 | Midterm 1 review |
|
|||||||
Lecture 13 | 10/07/2024 | Midterm 1 (in class) |
Practice Exam Fall 2024, Practice Exam Fall 2024 Solutions Practice Exam Spring 2025 (skip Problems 4 and 7), Practice Exam Spring 2025 Solutions |
|||||||
Lecture 14 | 10/09/2024 | PyTorch optimizers, datasets, dataloaders 1 |
|
|||||||
Lecture 15 | 10/14/2024 | PyTorch optimizers, datasets, dataloaders 2 |
|
|||||||
Lecture 16 | 10/16/2024 | Deep nets 1 (MLPs) | HW5 | |||||||
Lecture 17 | 10/21/2024 | Deep nets 2 (CNNs) | ||||||||
Lecture 18 | 10/23/2024 | Deep nets 3 (CNNs) | ||||||||
Lecture 19 | 10/28/2024 | Deep nets 4 (RNNs) | HW6 | |||||||
Lecture 20 | 10/30/2024 | Unsupervised learning 1 | ||||||||
Lecture 21 | 11/04/2024 | Unsupervised learning 2 | HW7 | |||||||
Lecture 22 | 11/06/2024 | Transformers 1 | ||||||||
Lecture 23 | 11/11/2024 | Transformers 2 | ||||||||
Lecture 24 | 11/13/2024 | Transformers 3 | HW8 | |||||||
Lecture 25 | 11/18/2024 | Object detection and segmentation | ||||||||
Lecture 26 | 11/20/2024 | Diffusion models | ||||||||
Break | 11/25/2024 | Thanksgiving | ||||||||
Break | 11/27/2024 | Thanksgiving | ||||||||
Lecture 27 | 12/02/2024 | Midterm 2 review | ||||||||
Lecture 28 | 12/04/2024 | Midterm 2 (in class) | ||||||||
Lecture 29 | 12/09/2024 | Alternate supervision |