• ECE/CS/ME 532: Theory and Applications of Pattern Recognition (Fall 2016-17) This course is an introduction to machine learning that focuses on matrix methods and features real-world applications ranging from classification and clustering to denoising and data analysis. Mathematical topics covered include: linear equations, regression, regularization, the singular value decomposition, and iterative algorithms. Machine learning topics include: the lasso, support vector machines, kernel methods, clustering, dictionary learning, neural networks, and deep learning. Students are expected to have taken a course in vector calculus, such as MATH 234, and have exposure to numerical computing (Matlab, Python, Julia, or equivalent). Appropriate for graduate students or advanced undergraduates.
  • CS/ECE/ISyE 524: Introduction to Optimization (Spring 2016-17) This course is an introduction to optimization from a modeling perspective. The aim is to teach students to recognize and solve optimization problems that arise in industry and research applications. Topics include: linear and quadratic programs, least squares, second order cone programs, mixed-integer programs, and discrete/combinatorial problems. Examples will be drawn from a variety of disciplines, including computer science, operations research, control and mechanical engineering, machine learning, and business/finance. Prereq: undergraduate-level linear algebra and exposure to numerical computing (Matlab, Python, or Julia). Appropriate for undergraduate or graduate students.

Past courses

  • ECE/CS/ME 532: Theory and Applications of Pattern Recognition (Fall 2015-16, co-taught with Rob Nowak)
  • CS/ISyE 524 and ECE 601: Introduction to Optimization (Spring 2015-16)