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

 

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 2568: [link]

 


 

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
Blank Notebook Complete Notebook Other Materials
Lecture1 Lecture1-Complete Setting up Python
 
Lecture 2 08/28/2024 PyTorch basics
Blank Notebook Complete Notebook Other Materials
Lecture2 Lecture2-Complete -
 
Lecture 3 09/02/2024 Linear algebra and calculus review
Blank Notebook Complete Notebook Other Materials
Lecture3 Lecture3-Complete -
 
Lecture 4 09/04/2024 Matrix calculus and primal optimizations
Blank Notebook Complete Notebook Other Materials
Lecture4 Lecture4-Complete Lecture4-Written
HW1 Latex Files, HW1 PDF, HW1 Solutions
Lecture 5 09/09/2024 Automatic differentiation 1 (gradient descent)
Blank Notebook Complete Notebook Other Materials
Lecture5 Lecture5-Complete  

 

 
Lecture 6 09/11/2024 Automatic differentation 2 (computational graphs and backpropagation)
Blank Notebook Complete Notebook Other Materials
Lecture6 Lecture6-Complete Lecture6-Written

 

HW2 Latex Files, HW2 PDF, HW2 Solutions
Lecture 7 09/16/2024 Automatic differentiation 3 (backpropagation and PyTorch)
Blank Notebook Complete Notebook Other Materials
Lecture7 Lecture7-Complete -
 
Lecture 8 09/18/2024 Linear regression 1
Blank Notebook Complete Notebook Other Materials
Lecture8 Lecture8-Complete -
HW3 Latex Files, HW3 PDF, hw_p2.zip, HW3 Solutions
Lecture 9 09/23/2024 Linear regression 2
Blank Notebook Complete Notebook Other Materials
Lecture9 Lecture9-Complete -
 
Lecture 10  09/25/2024 Logistic regression 1
Blank Notebook Complete Notebook Other Materials
Lecture10 Lecture10-Complete -
HW4 Latex Files, HW4 PDF, HW4 Solutions
Lecture 11 09/30/2024 Logistic regression 2
Blank Notebook Complete Notebook Other Materials
Lecture11 Lecture11-Complete -

 

 
Lecture 12 10/02/2024 Midterm 1 review
Blank Notebook Complete Notebook Other Materials
Lecture12 Lecture12-Complete Written Solutions
 
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

Midterm 1 Solutions

 
Lecture 14 10/09/2024 PyTorch optimizers, datasets, dataloaders 1
Blank Notebook Complete Notebook Other Materials
Lecture14 Lecture14-Complete Lecture14-Written
 
Lecture 15 10/14/2024 PyTorch optimizers, datasets, dataloaders 2
Blank Notebook Complete Notebook Other Materials
Lecture15    
 
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