Teaching

Teaching Philosophy

I believe in creating an engaging learning environment that bridges theoretical foundations with practical applications. My courses emphasize hands-on projects, critical thinking, and real-world problem-solving to prepare students for careers in AI and machine learning.

Current Courses (Fall 2025)

ECE4424/CS4824: Machine Learning

This course takes a hands-on approach to machine learning. You’ll:

  • Build real ML systems, not just study theory
  • Create an AI portfolio of mini research papers
  • Explain complex concepts simply (teaching = understanding)
  • Work with cutting-edge tools while mastering fundamentals

We believe the best way to understand machine learning is to build it, break it, and rebuild it better. Inspired by fast.ai, our motto is “build first, understand later.” You’ll start by building and fine-tuning powerful models, and then we’ll dive deep into the theory to understand why they work.

Previous Courses

ECE5424: Advanced Machine Learning
Spring 2022 (Graduate)
Show full course description

Algorithms and principles involved in machine learning; focus on perception problems arising in computer vision and robotics; fundamentals of representing uncertainty, learning from data, supervised learning, ensemble methods, unsupervised learning, structured models, learning theory and reinforcement learning; design and analysis of machine perception systems; design and implementation of a technical project applied to real-world datasets (images, text, robotics). This is a theoretical course with focus on the foundations of modern machine learning.

Why take this course? We are witnessing an explosion in data from billions of images shared online to Petabytes of tweets, medical records and GPS tracks, generated by companies, users and scientific communities. Applications of machine learning and perception are increasing rapidly as more techniques are developed and implemented to address a wide range of scientific and societal problems. Students trained in a deeper understanding of machine learning techniques will be better equipped to make fundamental contributions to research in machine learning, and applied areas such as perception (vision, text, speech), robotics, bioinformatics, etc.

Course reviews: ECE CS

ECE5984: Optimization Theory for ML
Spring 2021 (Graduate)
Show full course description

Fundamentals of optimization theory for applications in machine learning. Overview of convex analysis and formulations (e.g., linear, quadratic, second-order cone, and semidefinite programs, and conic programming), first-order methods (e.g., gradient descent, stochastic gradient descent and variants, cutting plane methods, mirror descent), second-order methods (e.g., interior point method), as well as a subset of the advanced topics, such as online optimization and non-convex optimization.

Why take this course? With the rapid advancements in the field of machine learning, it is crucial to develop a systematic understanding of modern optimization theory to keep up with the state-of-the-art methods and to even push the boundaries and design new machine learning methods. Indeed, the interplay between optimization and machine learning is one of the most fascinating aspect of modern computational science. However, these recently developments have not been well-documented in textbooks and are often dispersed in research papers, which make it difficult for students to grasp the gist in a short amount of time. This course is designed to bridge this gap and introduce to students these advanced topics in optimization and ML.

ECE4424/CS4824: Machine Learning
Fall 2020, 2021, 2022 (Undergraduate)
Show full course description

Algorithms and principles involved in machine learning with applications to various engineering domains; fundamentals of representing uncertainty, learning from data, supervised learning, unsupervised learning, and learning theory; design and analysis of machine learning systems; design and implementation of a technical project applied to real-world datasets (energy, images, text, robotics, etc.).

Why take this course? We are witnessing an explosion in data - from billions of images shared online to Petabytes of tweets, medical records and sensor data, generated by companies, users and the infrastructures around us. Applications of machine learning are increasing rapidly as more techniques are developed and implemented to address a wide range of scientific and societal problems. Many universities are expanding programs in machine learning and perception, and employers are increasingly recognizing the importance of such knowledge. The course will give students a solid foundation in the basics of machine learning and an introduction to the opportunities in this rapidly maturing field.

Course reviews: 2021 (ECE) 2021 (CS) 2020 (ECE) 2020 (CS)