Teaching

CSE620B: Remote Sensing & Computer Vision

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2024

The 2024 version of the course builds on the principles of remote sensing and computer vision, incorporating modern machine learning techniques. Topics include advanced segmentation methods, deep learning for geospatial data, and hyperspectral analysis.

CSE434: Generative AI

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2024

This course introduces the fundamental concepts and techniques of Generative AI, with a focus on language models, neural networks, and creative AI systems. Students will explore state-of-the-art generative models such as GANs, transformers, and VAEs, and learn how to apply these techniques to real-world problems. Emphasis is placed on prompt engineering, model fine-tuning, and evaluation.

CSE664: Advanced Algorithms

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2022

This graduate course explores advanced topics in algorithms, with an emphasis on NP-hard problems, approximation algorithms, and advanced techniques for solving optimization problems. Students will focus on proving algorithm correctness and analyzing their complexity. Topics include probabilistic methods, approximation algorithms, and advanced graph algorithms.

CSE465/565: Comparative Programming Languages

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2021

This course covers the theory and practice of different programming paradigms and languages. Students explore a variety of programming languages, comparing their design, syntax, semantics, and implementation.

CSE664: Advanced Algorithms

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2021

This graduate course explores advanced topics in algorithms, with an emphasis on NP-hard problems, approximation algorithms, and advanced techniques for solving optimization problems. Students will focus on proving algorithm correctness and analyzing their complexity. Topics include probabilistic methods, approximation algorithms, and advanced graph algorithms.

CSE627: Advanced Machine Learning

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2021

This graduate-level course offers an in-depth theoretical exploration of machine learning, with a focus on both classical and modern techniques. Grounded in Bishop’s Pattern Recognition and Machine Learning (PRML), this course delves into the probabilistic and mathematical foundations of machine learning, making it distinct from the undergraduate applied courses.

CSE488/588: Computer Vision

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2020

This course introduces students to the fundamental techniques in computer vision, including image processing, feature detection, object recognition, and machine learning-based approaches for visual data analysis.

CSE620B: Remote Sensing & Computer Vision

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2020

This initial offering of course explores computational methods in remote sensing with a focus on computer vision applications. Topics include image segmentation, classification, feature detection, and the use of large geospatial datasets.

CSE465/565: Comparative Programming Languages

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2020

This course covers the theory and practice of different programming paradigms and languages. Students explore a variety of programming languages, comparing their design, syntax, semantics, and implementation.

CSE627: Advanced Machine Learning

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2020

This graduate-level course offers an in-depth theoretical exploration of machine learning, with a focus on both classical and modern techniques. Grounded in Bishop’s Pattern Recognition and Machine Learning (PRML), this course delves into the probabilistic and mathematical foundations of machine learning, making it distinct from the undergraduate applied courses.

CSE664: Advanced Algorithms

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2020

This graduate course explores advanced topics in algorithms, with an emphasis on NP-hard problems, approximation algorithms, and advanced techniques for solving optimization problems. Students will focus on proving algorithm correctness and analyzing their complexity. Topics include probabilistic methods, approximation algorithms, and advanced graph algorithms.

CSE287: Foundations of Graphics

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This course introduces students to the basics of computer graphics, including rendering techniques, 3D transformations, and graphical algorithms. The emphasis is on understanding the mathematical foundations and practical implementation of graphics pipelines.

CSE465/565: Comparative Programming Languages

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This course covers the theory and practice of different programming paradigms and languages. Students explore a variety of programming languages, comparing their design, syntax, semantics, and implementation.

CSE464/564: Algorithms

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This course focuses on the analysis and design of algorithms, with cross-listed sections for both undergraduate (CSE464) and graduate students (CSE564). The curriculum covers foundational topics such as dynamic programming, graph algorithms, and NP-completeness, along with an introduction to approximation algorithms.

CSE627: Advanced Machine Learning

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This graduate-level course offers an in-depth theoretical exploration of machine learning, with a focus on both classical and modern techniques. Grounded in Bishop’s Pattern Recognition and Machine Learning (PRML), this course delves into the probabilistic and mathematical foundations of machine learning, making it distinct from the undergraduate applied courses.

CSE488/588: Computer Vision

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This course introduces students to the fundamental techniques in computer vision, including image processing, feature detection, object recognition, and machine learning-based approaches for visual data analysis.

CSE310D: Preparing for Tech Interviews

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This course is designed to prepare students for technical interviews in the software industry. It covers a wide range of topics, including algorithms, data structures, and problem-solving techniques commonly used in technical interviews.

CSE664: Advanced Algorithms

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2019

This graduate course explores advanced topics in algorithms, with an emphasis on NP-hard problems, approximation algorithms, and advanced techniques for solving optimization problems. Students will focus on proving algorithm correctness and analyzing their complexity. Topics include probabilistic methods, approximation algorithms, and advanced graph algorithms.

CSE488/588: Computer Vision

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2018

This course introduces students to the fundamental techniques in computer vision, including image processing, feature detection, object recognition, and machine learning-based approaches for visual data analysis.

CSE627: Advanced Machine Learning

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2018

This graduate-level course offers an in-depth theoretical exploration of machine learning, with a focus on both classical and modern techniques. Grounded in Bishop’s Pattern Recognition and Machine Learning (PRML), this course delves into the probabilistic and mathematical foundations of machine learning, making it distinct from the undergraduate applied courses.

CSE464/564: Algorithms

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2018

This course focuses on the analysis and design of algorithms, with cross-listed sections for both undergraduate (CSE464) and graduate students (CSE564). The curriculum covers foundational topics such as dynamic programming, graph algorithms, and NP-completeness, along with an introduction to approximation algorithms.

CSE310D: Preparing for Tech Interviews

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2018

This course is designed to prepare students for technical interviews in the software industry. It covers a wide range of topics, including algorithms, data structures, and problem-solving techniques commonly used in technical interviews.

CSE664: Advanced Algorithms

Graduate course, Miami University, Department of Computer Science and Software Engineering, 2018

This graduate course explores advanced topics in algorithms, with an emphasis on NP-hard problems, approximation algorithms, and advanced techniques for solving optimization problems. Students will focus on proving algorithm correctness and analyzing their complexity. Topics include probabilistic methods, approximation algorithms, and advanced graph algorithms.

CSE310D: Preparing for Tech Interviews

Undergraduate course, Miami University, Department of Computer Science and Software Engineering, 2017

This course is designed to prepare students for technical interviews in the software industry. It covers a wide range of topics, including algorithms, data structures, and problem-solving techniques commonly used in technical interviews.

CSE464/564: Algorithms

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2017

This course focuses on the analysis and design of algorithms, with cross-listed sections for both undergraduate (CSE464) and graduate students (CSE564). The curriculum covers foundational topics such as dynamic programming, graph algorithms, and NP-completeness, along with an introduction to approximation algorithms.

CSE466/566: Computer Graphics

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2017

This course introduces students to the principles of computer graphics, including rasterization, ray tracing, 3D transformations, and shading techniques. Both undergraduate and graduate students are exposed to the mathematics and programming involved in rendering 3D scenes and developing computer graphics applications.

CSE464/564: Algorithms

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2017

This course covers the design and analysis of algorithms, including topics such as dynamic programming, graph algorithms, and NP-completeness. Graduate students are expected to explore advanced topics in approximation algorithms and randomized algorithms.

CSE464/564: Algorithms

Undergraduate & Graduate course, Miami University, Department of Computer Science and Software Engineering, 2016

This course covers the design and analysis of algorithms, including topics such as dynamic programming, graph algorithms, and NP-completeness. Graduate students are expected to explore advanced topics in approximation algorithms and randomized algorithms.