Engineering Models (EE 203)

Engineering models allow Scientists and Engineers to understand systems under study by performing experiments. Differential equations have been the main tool (models) for the mathematical analysis, comprehension, design, and prediction of things that change. The emergence of digital computers has provided alternative methods for the approximate analysis for both natural and man-made systems through numerical solutions. This course describes both the analytical techniques for solving first order and second order differential equations as well as describes a wide range of unrelated physical phenomenon that can be modelled through them. In addition, graphical and numerical methods for solving differential equations are introduced. Furthermore, separable partial differential equations (PDEs) and their boundary value problems are introduced through the classical Heat, Wave and Laplace’s equations.

Deep Learning (EE 414/517, CS 437/5317)

Deep Learning has created a revolution in the past decade with numerous applications in science and engineering. A deep learning framework consists of a neural network (architecture) that imitates (very coarsely) the learning process of human beings. A deep neural network can either be trained on sufficiently annotated examples (aka supervised learning) or annotation-free examples (aka unsupervised learning) with the goal that the trained model generalizes well to unseen data. Deep learning has a strong mathematical and practical component that drives this learning framework in almost all applications. In this course, students will learn the basic theory and applications of deep neural networks with a special focus on supervised and unsupervised learning with convolutional neural networks, ensemble learning, transfer learning, autoencoders, GANs, and knowledge distillation. Students will learn to train deep neural networks in PyTorch for various applications in computer vision and medical imaging.

Convex Optimization (EE 563, MATH 325)

This course focuses on theory, algorithms and applications of convex optimization. Convex optimization deals with optimization problems where the objective function and the constraints of the problem are both convex. These problems appear in a variety of applications in diverse fields of science and engineering (e.g., statistics, signal/image processing, wireless communications, medical imaging, machine learning, economics, to name a few). Students will be trained to recognize, model/formulate, and solve convex optimization problems. Applications will revolve around medical imaging, big data and machine learning, and statistical (parameter) estimation. The course lectures will be divided into 4 sections: (1) Basics of convex analysis, (2) First-order methods, (3) Duality, and (4) Second-order methods. For advanced topics, we will cover selected problems covering the research themes of the class. Implementation of optimization algorithms will be carried out in Python.