• 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.
  • ECE 717: Linear Systems (Fall 2017-18) This is a graduate-level course on linear dynamical systems with an emphasis on state-space modeling in both discrete and continuous time. Topics covered include equilibrium points and linearization, natural and forced responses, canonical forms and transformations, controllability and observability, control-theoretic concepts such as pole placement, stabilization, dynamic compensation, and the separation principle. This course presents material that should be fundamental knowledge for students pursuing research in systems/control theory, signal processing, or mechanical/electrical/industrial engineering. The official prerequisite is MATH 340. Unofficially, you should be comfortable with linear algebra and MATLAB, and preferably have taken an introductory systems/controls course (e.g. ECE 330, 332 or 334)

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)