Teaching

CIS 5543: Computer Vision

Graduate level course in introductory computer vision topics.

Offered: Fall 2019, Fall 2020

CIS 5603: Artificial Intelligence

Graduate level course that covers classic and modern AI topics such as search, reasoning, knowledge
representation, and learning.

Offered: Spring 2019

CIS 4526: Foundations of Machine Learning

Undergraduate level course in general machine learning topics.

Offered: Fall 2018, Fall 2021

CIS 5515: Design and Analysis of Algorithms

Core graduate level course that covers topics in algorithm design and analysis.

Offered: Spring 2018

CIS 5526: Machine Learning

Graduate level course in general machine learning topics.

Offered: Fall 2016, Fall 2017

The courses below were taught at UNC Charlotte

ITCS 8156/6156: Machine Learning

Machine learning methods and techniques including: acquisition of declarative knowledge; organization of knowledge into new, more effective representations; development of new skills through instruction and practice; and discovery of new facts and theories through observation and experimentation.

Offered: Spring 2007, Spring 2008, Fall 2010, Fall 2011, Fall 2013, Fall 2014, Fall 2015, Spring 2016

ITCS 5152/4152: Computer Vision

General introduction to Computer Vision and its application. Topics include low-level vision, 2D and 3D segmentation, 2D description, 2D recognition, 3D description and model-based recognition, and interpretation.

Offered: Fall 2007, Fall 2008, Fall 2009, Spring 2011, Spring 2013

ITCS 3153: Introduction to Artificial Intelligence

This class covers the algorithms and representations used in artificial intelligence that underlie modern technology, including recommendation systems, autonomous vehicles, and virtual assistants.

Offered: Spring 2016

ITCS 8114/6114: Algorithms & Data Structures

Introduction to techniques and structures used and useful in design of sophisticated software systems. Records; arrays; linked lists; queues; stacks; trees; graphs; storage management and garbage collection; recursive algorithms; searching and sorting; graph algorithms; time and space complexity.

Offered: Fall 2009, Spring 2012, Fall 2012, Spring 2014

ITCS 2215: Design & Analysis of Algorithms

Introduction to the design and analysis of algorithms. Design techniques: divide-and-conquer, greedy approach, dynamic programming. Algorithm analysis: asymptotic notation, recurrence relation, time space complexity and tradeoffs. Study of sorting, searching, hashing, and graph algorithms.

Offered: Fall 2008, Spring 2009, Fall 2009, Fall 2010

ITCS 8010/6010: Computational Photography (w/ Robert Kosara)

With the proliferation of digital cameras and the advancements in desktop image and video editing software, the manipulation of visual data for a variety of purposes has become commonplace. This course will introduce topics in the emerging field of computational photography, combining topics from photography, optics, image processing, computer vision, and computer graphics and will cover the digital image formation workflow, from acquisition to processing to rendering. The course will also cover the new field of compressed sensing, which extends photography by applying heuristic and other techniques to image acquisition and processing. The topics to be covered include: camera and sensor models, color models, high dynamic range images, image warping, mosaicing, and relighting.

Offered: Fall 2009, Fall 2011