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