teaching

Teaching


CS/ECE 561 Probability and Information Theory in Machine Learning (3 credits), fall 2020 - new course offering

course videos

Probabilistic tools for machine learning and analysis of real-world datasets. Introductory topics include classification, regression, probability theory, decision theory and quantifying information with entropy, relative entropy and mutual information. Additional topics include naive Bayes, probabilistic graphical models, discriminant analysis, logistic regression, expectation maximization, source coding and variational inference. Previous exposure to numerical computing (e.g. Matlab, Python, Julia, R) required.


ECE 697, Capstone Design in Machine Learning and Signal Processing (5 credits), summer 2020 - new course offering

material

A 12-week hands-on capstone project course to gain experience applying machine learning and signal processing concepts. Students will be responsible for defining an appropriate capstone project and delivering a final report and presentation at the end of the course. The course will cover applied topics in machine learning and signal processing to assist with completion of projects. Topics include basic data structures, libraries such as Pandas, Scikit-learn, Keras, TensorFlow, PyTorch, and SciPy Signal Processing. The course will also cover basic data programming in SQL, scripting in Linux, version control, parallel computing basics and introduce distributed computing environments, including compute resources available on campus and in the cloud. The course will cover scaling up a project using graphics processing units (GPUs), parallel processing and technologies such as Apache MapReduce and Apache Spark. The course will feature guest speakers from academia and industry.


CS/ECE/ME 532, Matrix Methods in Machine Learning (3 credits), fall 2019, spring 2020.

classroom slides

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. In addition to the formal course requisites, students are expected to have had exposure to numerical computing (e.g. Matlab, Python, Julia, R). Appropriate for graduate students or advanced undergraduates.


ECE 203, Signals, Information and Computing (3 credits), spring 2014 (taught as a post doctoral researcher).

course videos

An introduction to the fascinating world of signals, information, and computing. Learn about the algorithms and mathematical foundations that underpin how signals are acquired, analyzed and processed in applications ranging from MP3 players to brain imaging using MRI. We will explore signal processing not only with mathematics, but also through hands-on experiments with real-world signals.