CISE Special Topics Courses – Spring 2023

Special topics courses provide an opportunity for in-depth study of topics not offered elsewhere and of topics of current significance.  

  • CIS4930 for undergraduate students
  • CIS6930 for graduate students

Brief descriptions and expected prerequisites can be found below.


CIS4930 Introduction to Virtual Reality

Instructor:  Alexandre Gomes de Siqueira
Prerequisites: COP3503
Description:  This course explores theory and practice necessary to develop immersive virtual environments. It discusses techniques for achieving real-time, dynamic display of synthetic images. Includes hands-on experience with electromagnetically tracked, head-mounted displays and requires, as a final project, the design and construction of a virtual environment.


CIS6930   Processing Natural Language Concepts and Applications

Instructor:  Bonnie Dorr
Prerequisites: Knowledge of programming fundamentals & Familiarity with introductory machine learning or artificial intelligence is a plus.
Description:  This course teaches concepts in natural language processing ranging from shallow bag-of-words to richer representations and formalisms, for applications such as translation, generation, extraction, summarization, and dialogue. We cover classic and state-of-the-art techniques and remaining challenges, as well as recent proposals for meeting those challenges (both symbolic and machine learning approaches). Intended for graduate students doing research related to natural language processing.


CIS4930/CIS6930  Human-Centered Input Recognition Algorithms

Instructor:  Lisa Anthony
Prerequisites: COP3530
Description:  Are you interested in natural user interaction? Do you want to learn more about how computer systems recognize and interpret user input in “natural” modalities, like touch, gesture, speech, and whole-body motion?​ This course will cover typical approaches in recognition of input in these modalities that are informed by what we know about human input behaviors. Each semester the modality of emphasis may vary. In Spring 2023, the course will cover touchscreen surface-based gesture recognition. Selected algorithms that will be covered may include: Wobbrock et al’s $1 recognizer, Anthony & Wobbrock’s $N recognizer, Vatavu et al’s $P recognizer, among others. Class structure will be in a project-based seminar format, in which we will discuss in-class weekly readings of the research papers that introduced these algorithms. Students will implement at least one of these algorithms and test it online in live demos and offline on sample data. Students will also extend at least one of these algorithms and test it in the same ways.


CIS6930  Advanced Blockchain

Instructor:  My T. Thai
Prerequisites: None
Description:  Blockchain has emerged as one of the World’s most trusted and decentralized systems, which will have an immense global impact similar to the way the Internet did in the mid 90’s. The potential applications of Blockchain technologies span across a variety of different environments, from cryptocurrency such as Bitcoin and Ethereum, to other infrastructures and application domains such as the Internet-of-Things, Online Social Networks, and Digital Health. The objective of this course is to discuss the fundamental and recent advances of Blockchain, especially focusing on the Scalability, Optimization aspect, and its Emerging Applications.


CIS4930   AI for Materials

Instructor:  Richard G. Hennig
Prerequisites: Knowledge of vector and matrix algebra, derivatives and integrals, probabilities and random variables statistics, and some experience in coding in any language, such as Python (preferred), MATLAB, Java, C.
Description:  AI methods change the way we discover and design novel materials. In this course, you will gain hands-on experience developing AI workflows for materials and processes to develop the skills needed to address real-world engineering problems. We will extract data from materials databases, implement features that convert the data into machine-learnable formats, and apply different machine-learning methods suitable for the small and large data problems common to materials science. This course covers the mathematical background and the application of supervised and unsupervised learning to materials data through lectures, reading assignments, and a programming project where students develop machine learning programming skills on UF’s HiPerGator NVIDIA cluster. The course is open to Computer Science students and Materials Science students and will offer the opportunity to do projects in interdisciplinary teams.


CIS4930/CIS6930  Introduction to AI & CS ED Research

Instructor:  Christina Gardner-McCune
Prerequisites: No additional pre-requisites
Description:  This course will introduce students to the field of artificial intelligence and computer science education research. Student will explore topics and issues in K-12, undergraduate, and non-major computing and AI education. Students will read and critique research papers to identify best practices that will improve computing knowledge and skills. Students will then use these best practices to pitch and develop a project that addresses a critical issue in AI or CS Education.


CIS4930   Internet Programming

Instructor:  Albert Ritzhaupt
Prerequisites: COP3503
Description:  Software development and problem-solving as applied to real-world problems with solutions designed and implemented in various languages. Topics include mark-up languages (e.g., HTML), style sheets (e.g., CSS), client-side scripting (e.g., JavaScript), software libraries (e.g., jQuery), server side-scripting (e.g., PHP), relational databases (e.g., MySQL), and software diagrams (e.g., ERDs). Prior programming experience is assumed and required. Students will extend course topics via programming assignments and a culminating web application group project extending across the duration of the semester.


CIS4930   Geometric Data Structures and Algorithms

Instructor:  Markus Schneider
Prerequisites: COP 3530 Data Structures and Algorithms, programming skills in C++
Description:  This course provides the foundations of geometric data structures and algorithms as an extension of standard data structures and algorithms. They support the representation of geometric or spatial objects (e.g., points, lines, regions) and their processing (e.g., geometric intersection, convex hull, closest pair, distance). Applications are, for example, cartographic maps, geographic applications, car navigation systems, disaster management and mitigation, transportation planning, agricultural applications, and environmental impact analysis.


CIS4930   Internet Networking Technology

Instructor:  Jonathan Kavalan
Prerequisites: CP3530 Data Structures and Algorithms
Description:  Design and analysis of Internet networking technologies from application’s point of view. Major effort is devoted on application natures, and their impact of protocols at the application-layer


CIS4930   Introduction to Multimodal Machine Learning

Instructor:  Yingbo Ma
Prerequisites: COP3503
Description:  Multimodal machine learning uses machine learning data-driven approaches to jointly learn multiple modalities of data, from natural language and images to videos and physiological signals. Typical applications of multimodal machine learning techniques include multimodal conversational AIs, audio-visual speech recognition, and multimodal smart healthcare systems. This course covers (1) the common modalities (for example, text, speech, facial expressions) of data when it comes to real-world applications of machine learning techniques; (2) features that could be extracted from each modality of data and used for machine learning tasks; and (3) multimodal data fusion for joining information from multiple modalities for machine learning tasks. Through this class, students would learn fundamental theories and practical skills for processing different modalities of data to perform machine learning tasks in the future.


CIS4930  Enterprise Software Engineering Practices

Instructor:  Sarvenaz Myslicki
Prerequisites: CEN 3031
Description:  Do you aspire to work in the tech industry? Do you want to learn how software gets built in large, billion-dollar companies? Do you want to stand out among other intern and full-time candidates? This course will be taught by industry leaders and former UF CISE graduates who have put together 100% of the content based on real-world experiences building enterprise software. The course will cover: processes, frameworks, and tools that large companies use to allow hundreds of engineers to collaborate and deliver software; how technology teams interface with other business units to deliver products and solutions; and modern software engineering best practices and enterprise architecture patterns


CIS4930 Python Programming for Non-CISE Majors

Instructor:  Anurag Swarnim Yadav
Prerequisites:  This section of CIS4930 does NOT require any prerequisites (even though the standard prerequisite for CIS4930, COP3503, is indicated). To have the prerequisite waived and enroll, contact ugadvisors@cise.ufl.edu.
Description:  This course will cover Python programming fundamentals and introduce concepts like variables, conditionals, loops, functions, reading and writing to files, and basic data structures. No previous exposure to programming is needed.  This section is for non-major students only; CISE or Computer Engineering students who enroll will be removed.


CIS4930 Mathematics for Machine Learning

Instructor:  Anand Rangarajan
Prerequisites:  MAS 4105 or MAS 3114
Description:  Modern machine learning can be demanding due to its reliance on a set of interlocking applied math concepts. In this course (assuming a background in linear algebra and calculus), we begin with vector spaces, bases and dimension and then gently introduce the topics of linear regression, objective functions for optimization, maximum likelihood and entropy, and the essentials of constrained optimization and Lagrange parameters – all necessary tools of machine learning.


CIS4930/CIS6930 Machine Learning for Multi-modal Ecosystem Analysis

Instructor: Paul Gader
Prerequisites: Programming, preferably Python, and Linear Algebra
Description: Students will learn about theory and algorithms for processing multi-modal, multi-scale, sensor data acquired over ecosystems. The ultimate goal of the processing is to produce a description of the state of an ecosystem. Sensors will include imaging, acoustic, and specialized bio-physical point sensors. Data sets are massive. Advanced algorithms are needed to turn data into information. The focus will be on coastal ecosystems. According to NOAA and the United Nations, almost 40% of both the U.S. and World population lives by a coast. Sea temperatures and levels are rising rapidly and are strongly affecting the health of the ecosystems but the range of effects is not fully understood.


CIS6930 Multimodal Data Mining

Instructor: Ruogu Fang
Prerequisites: Foundational knowledge in MATLAB or python and computer programming is needed to be successful in this course.
Description: Multimodal data mining, machine learning, and data integration course using computer programming languages for multimodal biomedical data analysis, including medical images, clinical natural language processing, genomics, and other clinical data.