ECE 50024: Machine Learning

Fall 2025

Date: Aug 25, 2025 – Dec 12, 2025

In Fall 2025, we offer the following sections, simultaneously.

  • ECE 50024-EPE (CRN 21451). Online (Purdue Online). Asynchronous

Course Description

An introductory course to machine learning, with a focus on supervised learning using linear models.

  • Regression. Linear regression, loss function, optimization, gradient descent, stochastic gradient descent, least squares fitting, robust regression, ridge regularization, LASSO regularization

  • Linear Classifiers. Linear discriminant analysis, separating hyperplane, multi-class classification, Bayesian decision rule, geometry of Bayesian decision rule, linear regression, logistic regression, robustness of classifiers, adversarial learning

  • Generative Models. Variational autoencoder, denoising diffusion probabilistic models, score matching Langevin dynamics

  • Learning Theory. Bias and variance, training and testing, generalization, PAC framework, Hoeffding inequality, VC dimension.

Pre-requisites

  • Purdue ECE 302 Probability

  • Purdue MA 265 Linear Algebra

  • Purdue ECE 647 (Optional) Convex and Stochastic Optimization and Applications

Useful Background Materials

Grades

  • Test (80%)

    • There will be four tests. All tests are independent and not cumulative.

    • Test 1 (20%): 45-minute test during lecture. Topics for Week 1 - Week 4.

    • Test 2 (20%): 45-minute test during lecture. Topics for Week 5 - Week 8.

    • Test 3 (20%): 45-minute test during lecture. Topics for Week 9 - Week 12.

    • Test 4 (20%): 45-minute test during lecture. Topics for Week 13 - Week 16.

    • All tests are closed-book, closed-note.

  • Quiz (20%)

    • Throughout the semester.

    • (For Online students only) Complete on gradescope

    • No more than 10 minutes each.

    • Most questions are short, simple, easy.

  • Homework (0%)

    • Homework will be assigned but not collected.

    • Solution will be distributed.

  • Final Exam (0%)

    • There is no final exam.

  • Project (0%)

    • There is no project.

  • Curve

    • We will curve the class.

    • Undergrad and grad will use the same curve. (This is required by the undergrad and grad committee, because this is a 500-level class.)

    • Roughly speaking, and subject to curves:

      • A: > 80

      • B: 70-80

      • C: 50-70

      • F: < 50

Textbook and References

There is no official textbook for this course. Please refer to the lecture note section of the website for our lecture materials.

A few good reference books for this course are:

Programming

We will be primarily using Python. As such, I expect you to have elementary programming skills, e.g., writing a hello world program. More information and resources on how to use Python can be found in the programming section of this website. I found Google Colab a fairly easy-to-use platform for Python programming. You can check this out.

Besides Python, we use optimization packages to solve optimization problems. Of particular importance is CVX.