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 RRWYX2): [link]
Class Campuswire
Join the class campuswire with code 2584: [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:
| Homework |
Files |
Due Date |
| Homework 1 |
PDF, Latex Files |
September 11, 11:59pm on Gradescope |
| Homework 2 |
PDF, Latex Files |
September 18, 11:59pm on Gradescope |
Homeworks are all submitted on Gradescope. 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.
AI Usage Policy
Generative AI tools, such as ChatGPT, Microsoft Copilot, and Gemini, can answer questions and generate text, images, and other media. The appropriate use of generative AI varies from course to course. In ECE 364 there are times when generative AI may be useful in the course and other times where we prohibit the use of generative AI. Specifically, you MAY use generative AI in ECE 364 to:
- Aid your studying and preparation for exams, e.g. generating additional practice problems, verifying your solutions to other example problems, and checking your own understanding of course concepts.
- Help verify your own solutions when completing homework assignments.
- Generate parts of code on assignments or to verify your own written code. Such use of AI for writing code must be attributed in your homework submission.
You MAY NOT use generative AI in ECE 364 to:
- Complete any quizzes or exams.
- Fully copy/plagiarize generative AI solutions for written problems on homework assignments. Solutions on such written problems that are direct copies of answers from a Generative AI tool may be subject to disciplinary action such as a FAIR allegation.
If you have a question about the use of generative AI, please feel free to reach out to Prof. Snyder. Failure to abide by these guidelines is a violation of academic integrity. We will investigate suspected uses of generative AI that do not follow these guidelines and apply sanctions as outlined in the University of Illinois Student Code.
Grading:
25% Homeworks; 25% Midterm 1; 25% Midterm 2; 25% Final Project
Office Hours
| Kamila |
Ayush |
Prof. Snyder |
| Wednesdays, 12:00-1:00pm |
Thursdays, 2:00-3:00pm |
Fridays, 12:00-1:00pm |
| ECEB 2034 |
ECEB 2034 |
ECEB 2034 |
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 |
|
| Lecture 3 |
09/01/2025 |
Matrix calculus and primal optimization |
|
| Lecture 4 |
09/03/2025 |
Automatic differentiation 1 (gradient descent) |
|
| Lecture 5 |
09/08/2025 |
Automatic differentiation 2 (computational graphs and backpropagation) |
|
| Lecture 6 |
09/10/2025 |
Automatic differentation 3 (backpropagation and PyTorch) |
|
| Lecture 7 |
09/15/2025 |
Linear and logistic regression 1 |
|
| 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 |
Transformers 1 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 19 |
10/27/2025 |
Transformers 2 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 20 |
10/29/2025 |
Transformers 3 |
| Blank Notebook |
Complete Notebook |
Other Materials |
| |
|
|
|
| Lecture 21 |
11/03/2025 |
Transformers 4 |
|
| Lecture 22 |
11/05/2025 |
Model training best practices |
| 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 (in class) |
| 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 |
| |
|
|
|