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

Mediaspace Recordings Link

The below syllabus is subject to minor changes.

Event Date Description Materials
Lecture 1     08/25/2025 Course introduction and PyTorch basics
Blank Notebook Complete Notebook Other Materials
Lecture 1 Lecture 1 Complete Setting up Python
Lecture 2 08/27/2025 PyTorch basics, linear algebra and calculus review
Blank Notebook Complete Notebook Other Materials
Lecture 2 Lecture 2 Complete Written Notes
Lecture 3 09/01/2025 Matrix calculus and primal optimization
Blank Notebook Complete Notebook Other Materials
Lecture 3 Lecture 3 Complete Written Notes
Lecture 4 09/03/2025 Automatic differentiation 1 (gradient descent)
Blank Notebook Complete Notebook Other Materials
Lecture 4 Lecture 4 Complete -
Lecture 5 09/08/2025 Automatic differentiation 2 (computational graphs and backpropagation)
Blank Notebook Complete Notebook Other Materials
Lecture 5 Lecture 5 Complete Written Notes
Lecture 6 09/10/2025 Automatic differentation 3 (backpropagation and PyTorch)
Blank Notebook Complete Notebook Other Materials
Lecture 6 Lecture 6 Complete -
Lecture 7 09/15/2025 Linear and logistic regression 1
Blank Notebook Complete Notebook Other Materials
Lecture 7 Lecture 7 Complete -
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