ECE 364: Programming Methods for Machine Learning (Fall 2026)
Teaching Staff
Prof. Corey Snyder
Instructor
Email: cesnyde2[at]illinois.edu
|
Kamila Abdiyeva
Graduate Teaching Assistant
Email: kamilaa2[at]illinois.edu
|
Ayush Barik
Undergraduate Course Assistant
Email: barik2[at]illinois.edu
|
Class Time & Location
Class Time: Tuesday, Thursday 9:30AM-10:50AM
Location: ECEB 3081 (Electrical and Computer Engineering Building)
Work Submission Logistics
Gradescope for assignments (self-enrollment code ): [link]
Class Campuswire
Join the class campuswire with code TBD: [link]
Course Information
In this course, you will learn how to use auto-differentiation tools like PyTorch, how to leverage them for various machine learning algorithms (linear regression, logistic regression, deep nets, Transformers, etc.), 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:
Due Date: TBD
Homework and Late Policy:
Schedule and information to follow soon! There will be 7-8 homeworks.
We will drop the lowest homework grade (1 assignment) for each student. Late submissions will be deducted 20% per day (i.e. 20/24 % per hour late) that the assignment is submitted late.
Grading:
25% Homeworks; 25% Midterm 1; 25% Midterm 2; 25% Final Project
Office Hours
| Ayush |
Kamila |
Prof. Snyder |
| |
|
|
| |
|
|
Lectures
Lecture Recordings
The below syllabus is subject to minor changes.
| Event |
Date |
Description |
Materials |
| Lecture 1 |
08/25/2025 |
Course introduction and PyTorch basics |
|
| Lecture 2 |
08/27/2025 |
PyTorch basics, linear algebra and calculus review |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 3 |
09/01/2025 |
Matrix calculus and primal optimization |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 4 |
09/03/2025 |
Automatic differentiation 1 (gradient descent) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 5 |
09/08/2025 |
Automatic differentiation 2 (computational graphs and backpropagation) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 6 |
09/10/2025 |
Automatic differentation 3 (backpropagation and PyTorch) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 7 |
09/15/2025 |
Linear and logistic regression 1 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 8 |
09/17/2025 |
Linear and logistic regression 2 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 9 |
09/22/2025 |
Linear and logistic regression 3 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 10 |
09/24/2025 |
Pytorch optimizers, datasets, dataloaders 1 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 11 |
09/29/2025 |
PyTorch optimizers, datasets, dataloaders 2 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 12 |
10/01/2025 |
Midterm 1 review |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 13 |
10/06/2025 |
Midterm 1 (in class) |
|
| Lecture 14 |
10/08/2025 |
Deep nets 1 (MLPs) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 15 |
10/13/2025 |
Deep nets 2 (CNNs) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 16 |
10/15/2025 |
Deep nets 3 (CNNs) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 17 |
10/20/2025 |
Deep nets 4 (RNNs) |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 18 |
10/22/2025 |
Model training best practices |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 19 |
10/27/2025 |
Transformers 1 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 20 |
10/29/2025 |
Transformers 2 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 21 |
11/03/2025 |
Transformers 3 |
|
| Lecture 22 |
11/05/2025 |
Transformers 4 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 23 |
11/10/2025 |
Self-supervised learning |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 24 |
11/12/2025 |
Midterm 2 Review |
|
| Lecture 25 |
11/17/2025 |
Midterm 2 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 26 |
11/19/2025 |
Generative models 1 |
| Blank Notebook |
Complete Notebok |
Other Materials |
| |
|
|
|
| Break |
11/24/2025 |
Thanksgiving |
|
| Break |
11/26/2025 |
Thanksgiving |
|
| Lecture 27 |
12/01/2025 |
Generative models 2 |
| Blank Notebook |
Complete Notebooks |
Other Materials |
| |
|
|
|
| Lecture 28 |
12/03/2025 |
Generative models 3 |
| Blank Notebook |
Complete Notebooks |
Other Materials |
| |
|
|
|
| Lecture 29 |
12/08/2025 |
Additional PyTorch best practices |
| Blank Notebook |
Complete Notebooks |
Other Materials |
| |
|
|
|