ECE364 focuses on auto-differentiation tools like PyTorch used with basic machine learning algorithms (linear regression, logistic regression, deep nets, k-means clustering) and extensions in custom methods to fit specific needs. Auto-differentiation tools are essential for data analysis, and a solid understanding of them is increasingly important in many disciplines. In contrast to existing courses focusing on algorithmic and theoretical aspects of Machine Learning, the focus here is on implementation with auto-diff tools.
And that's a wrap. This course was offered for the first (and currently last) time in Spring 2025. I'm leaving the content up in case anyone else finds it useful, and I'll keep adding to it here and there as I continue refining my own understanding of some topics. I had a great time teaching this course, but before wrapping up, I want to give a huge shoutout to my amazing course staff: Neeraj Gangwar, Suyuan Wang, Vishesh Prasad, and Jeff Shin. I know I’m the professor and my name's always at the top, but honestly, none of this would've been possible without them—I owe them a ton. Thanks again to my staff and students for an incredible semester, and don’t be afraid to ping!
Past graduate teaching assistants. Most have created/contributed to the notes and problems/solutions.
Many of our past CAs. Most have moved on to successful careers but their time grading and hosting office hours won't be forgotten.