I lead the Sikuli Lab where I educate a team of talented students to conduct cutting-edge research to make computers see better and interact with humans more naturally. One example is Sikuli Script, a GUI automation tool based on screenshots. Since its release as open-source software in 2010, it has been downloaded more than 200,000 times and used by a large community of users for a variety of purposes such as testing, IT automation, scraping, data transfer, and gaming.
keywords
human-centered computing, visual interfaces, end-user programming, big data
Fast Concurrent Object Localization and Recognition.
Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition.
280-+.
2009
Dynamic visual category learning.
Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition.
2134-+.
2008
Scalable Classifiers for Internet Vision Tasks.
Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition.
61-+.
2008
Searching the web with mobile images for location recognition.
Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition.
76-81.
2004
CSCA 5112 - Introduction to Generative AI
Primary Instructor
-
Fall 2023 / Spring 2024 / Summer 2024 / Fall 2024 / Spring 2025 / Summer 2025 / Fall 2025
This course introduces the core concepts and architectures behind generative AI, including GANs, VAEs, diffusion models, and transformers. Students will explore how generative models produce text, images, and other outputs, and will gain foundational understanding of prompt design, and common limitations such as hallucinations. The course also includes an overview of AI literacy to support responsible use and prepares learners for applied work in generative AI systems.
CSCA 5222 - Introduction to Computer Vision
Primary Instructor
-
Summer 2024 / Fall 2024 / Spring 2025 / Summer 2025 / Fall 2025 / Spring 2026
This course guides students through the essential algorithms and methods to help computers 'see' and interpret visual data. Students learn the core concepts and techniques that have been traditionally used to analyze images. Then, students learn modern deep learning methods, such as neural networks and specific models designed for image recognition, can be used to perform more complex tasks like object detection and image segmentation. Additionally, students will learn the creation and impact of AI-generated images and videos, exploring the ethical considerations of such technology. Same as DTSA 5512.
CSCA 5322 - Deep Learning for Computer Vision
Primary Instructor
-
Fall 2025 / Spring 2026
This course introduces students to the core principles of neural networks and deep learning, focusing on their application in computer vision. Covering advanced CNN architectures like ResNet, Inception, and DenseNet, along with techniques in object detection (R-CNN, SSD, YOLO) and semantic segmentation (FCN, SegNet, U-Net), this course offers a comprehensive overview of theory and practical skills. Same as DTSA 5513.
CSCA 5422 - Modern AI Models for Vision and Multimodal Understanding
Primary Instructor
-
Fall 2025 / Spring 2026
This course delves into the cutting-edge realm of generative models for images and videos, including GANs and Diffusion Models. It will teach about multimodal foundational models such as CLIP, as well as applications for text-to-image and text-to-video generation. The course also addresses the issue of DeepFakes. Through both practical exercises and theoretical discussion, students will explore the ethical considerations, privacy concerns, and future trends in computer vision. Same as DTSA 5514.
CSCI 1300 - Computer Science 1: Starting Computing
Primary Instructor
-
Fall 2021 / Spring 2022 / Fall 2022
Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. Appropriate for students with little to no experience in computing or programming. Degree credit not granted for this course and ECEN 1310. Same as CSPB 1300.
CSCI 3002 - Fundamentals of Human Computer Interaction
Primary Instructor
-
Spring 2018 / Spring 2019 / Spring 2021 / Summer 2024
Introduces the practice and research of human-computer interaction, including its history, theories, the techniques of user-centered design, and the development of interactive technologies. Covers computing in society at large with respect to domains such as health, education, assistive technology, ethics, environment, and more.
CSCI 4722 - Computer Vision
Primary Instructor
-
Spring 2023 / Spring 2024 / Spring 2025 / Spring 2026
Explores algorithms that can extract information about the world from images or sequences of images. Topics covered include: imaging models and camera calibration, early vision (filters, edges, texture, stereo, optical flow), mid-level vision (segmentation, tracking), vision-based control and object recognition. Recommended prerequisite: CSCI 3022 or APPM 3570 or STAT 4520 or STAT 4000 or CHEN 3010 or CVEN 3227 or MATH 3510 or MATH 4510 or ECEN 3810 or ECON 3818. Same as CSCI 5722.
CSCI 5722 - Computer Vision
Primary Instructor
-
Spring 2023 / Fall 2023 / Spring 2024 / Fall 2024 / Spring 2025 / Fall 2025 / Spring 2026
Explores algorithms that can extract information about the world from images or sequences of images. Topics covered include: imaging models and camera calibration, early vision (filters, edges, texture, stereo, optical flow), mid-level vision (segmentation, tracking), vision-based control and object recognition. Recommended prerequisite: probability, multivariate calculus and linear algebra. Same as CSCI 4722.
CSCI 5919 - HCC Survey and Synthesis: Foundations and Trajectories
Primary Instructor
-
Spring 2020
Examines the interdisciplinary field of human-centered computing through a comprehensive content and historical survey. Considers new trajectories of inquiry and how the field merges with others. Social computing, is emphasized as a central topic. Students across disciplines will find the course foundational for understanding human-centered technology matters, including computer scientists, information scientists, social scientists, and business and media arts students. Same as INFO 5919.
CSCI 5929 - HCC Survey and Synthesis: New Disciplinary Directions
Primary Instructor
-
Fall 2023
Studies recent advances in human-computer interaction through critical analysis of influential papers and self-guided research. Examines new paradigms in input, output, and visualization for technology design and interaction. Considers innovative methods to assess various population design and technological needs. Studies in computer-related fields, social science, business, media arts and communications benefit learning about human-centered computing research. Recommended prerequisite: CSCI 5919.
CSCI 6940 - Master's Candidate for Degree
Primary Instructor
-
Fall 2025
Registration intended for students preparing for a thesis defense, final examination, culminating activity, or completion of degree.
CSCI 6950 - Master's Thesis
Primary Instructor
-
Fall 2024 / Spring 2025
Registration intended for Master's students preparing a thesis. May be repeated up to 50 total credit hours.
CSCI 7000 - Current Topics in Computer Science
Primary Instructor
-
Spring 2020 / Spring 2023
Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 total credit hours.
DTSA 5512 - Introduction to Computer Vision
Primary Instructor
-
Fall 2025 / Spring 2026
This course guides students through the essential algorithms and methods to help computers 'see' and interpret visual data. Students learn the core concepts and techniques that have been traditionally used to analyze images. Then, students learn modern deep learning methods, such as neural networks and specific models designed for image recognition, can be used to perform more complex tasks like object detection and image segmentation. Additionally, students will learn the creation and impact of AI-generated images and videos, exploring the ethical considerations of such technology. Same as CSCA 5222.
DTSA 5513 - Deep Learning for Computer Vision
Primary Instructor
-
Fall 2025 / Spring 2026
This course introduces students to the core principles of neural networks and deep learning, focusing on their application in computer vision. Covering advanced CNN architectures like ResNet, Inception, and DenseNet, along with techniques in object detection (R-CNN, SSD, YOLO) and semantic segmentation (FCN, SegNet, U-Net), this course offers a comprehensive overview of theory and practical skills. Same as CSCA 5322.
DTSA 5514 - Modern AI Models for Vision and Multimodal Understanding
Primary Instructor
-
Fall 2025 / Spring 2026
This course delves into the cutting-edge realm of generative models for images and videos, including GANs and Diffusion Models. It will teach about multimodal foundational models such as CLIP, as well as applications for text-to-image and text-to-video generation. The course also addresses the issue of DeepFakes. Through both practical exercises and theoretical discussion, students will explore the ethical considerations, privacy concerns, and future trends in computer vision. Same as CSCA 5422.