Skip to main content

Special Topics Courses

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.

Fall 2026

CIS 4930 – Introduction to Machine Learning

Instructor: Mohammad Al-Saad

Description: Machine learning is a specialized area within artificial intelligence focused on enabling computer programs to autonomously enhance their functionality and efficiency by acquiring (learning) experience. The primary goals of this course are to equip students with a comprehensive introduction to machine learning methods and techniques, and to delve into the investigation of research problems within machine learning and its applications, which may lead to work on a project or a dissertation. The course is intended primarily for computer science and artificial intelligence students. Additionally, students from various fields who possess a keen interest and a robust background in artificial intelligence may also find this course interesting.

CIS 4930 – Cyber Adversarial Tradecraft

Instructor: Cheryl Resch

Description: The course introduces a theory of adversarial engagement and related game theoretical concepts. It addresses the theory and practice through conflict principles associated with both offense and defense along the dimensions of deception, physical access, humanity, economy, planning, innovation, and time. Students engage in weekly exercises putting these theories into practice in adversarial competitions. Students will be able to identify and employ these concepts in both offensive and defensive cyber activities.

CIS 4930 – Theory of Computation

Instructor: Meera Sitharam

Description: Introduction to theoretical computer science, the nature of automation, information, randomness and complexity.

For those interested in understanding the limits of AI from a mathematically principled perspective, or if you just liked the argument about why no computer can solve certain problems in finite time, such as the halting problem and various tiling problems, then this course could be of interest to you.

For those entering a graduate CS program it establishes a solid foundation.  I’ve had motivated undergrads with a strong analytical background take this course and do extremely well.

The course is about acquiring a way of thinking, based on computation, complexity, information and randomness: it will cover fundamental questions about the nature of automation, models of computation, computability, and how to classify problems by their computational complexity, simply by looking at their formal description. The answers to these questions form the very foundations of computer science, from programming language principles, to algorithm design.

Furthermore, the study of complexity is increasingly recognized as a fundamental area of mathematics and is a key ingredient in in physics and the natural sciences. 

Note that  COP3530 Data Structures and Algorithms may be listed as an official prerequisite, and it helps if you had this prerequisite (in fact  COP 4533  Algorithm Abstraction and Design will be useful as well).

On the other hand, if you feel comfortable with formalizing and proving things, i.e.. you feel you have mathematical maturity (you are a math major or have had upper division math courses, for instance) you are probably ready. If you want confirmation, you should email   Meera Sitharam at sitharam@cise.ufl.edu

CIS 4930 – Math for Machine Learning

Instructor: Jingwei Sun

Description:  Mathematical foundations of machine learning. Topics include linear algebra, vector spaces, orthogonality, least squares, regularization, convex sets and functions, gradient-based optimization, principal component analysis, clustering, support vector machines, and fundamentals of neural networks. Emphasis on mathematical modeling, geometric interpretation, and analytical tools for understanding learning algorithms.

CIS 4930 – Enterprise Software Engineer Practices

Instructor: Pete dobbins

Description: This course will introduce students to modern software engineering practices used to build software in large enterprises. Students will learn about frameworks and tools that help organizations with hundreds or even thousands of engineers collaborating to deliver software. Students will expand upon their knowledge of the Software Development Life Cycle to better understand how to contribute code to existing codebases, automate testing and deployment activities, and proactively monitor and support their software. Students will learn how to evaluate requirements from a business and customer perspective, ensuring that they contribute software that is impactful. These real-world skills will help students stand out as they pursue full-time software engineering opportunities and hit the ground running in their first industry jobs.

CIS 4930: Multimedia Expert Systems

Instructor: Jonathan Kavalan

Description: Understand the integrated design issues for multimedia expert systems, Survey of recent advances in multimedia expert systems.

Summer 2026

CIS 4930 – Technology Frontiers for Industry 5.0

Instructor:  Alexandre Gomes de Siqueira

Description: Technology Frontiers for Industry 5.0 is a forward-looking course for students who want to design the future of industry, not just code or automate it. Industry 5.0 puts humans back at the center—where people, AI, robots, and immersive systems collaborate ethically and responsibly in real-world environments. In this course, students learn from guest lectures by expert professors and researchers from universities and research centers around the world, gaining first-hand exposure to how emerging technologies are being explored and deployed across different countries, industries, and cultural contexts. Through real case studies, students work with cutting-edge ideas spanning AI, quantum, cyber-physical systems, immersive technologies, robotics, and advanced manufacturing, while building the critical thinking, ethical awareness, and communication skills needed to lead the next generation of human-centered industrial systems. Learn from global experts. Tackle real Industry 5.0 challenges. Design technology that puts humans first.

CIS 4930 – Introduction to Virtual Reality

Instructor: Alexandre Gomes de Siqueira

Description: This course explores the theory and practice necessary to develop effective immersive virtual environments as a medium to solve real-world problems and convey impactful messages. It discusses techniques for achieving real-time, dynamic generation of synthetic audio, visual, and haptic stimuli. It includes hands-on experience with head-mounted displays and other VR technologies. By the end of the course, as a final project, students will have designed and built a fully functional virtual environment.

CIS 4930 – Introduction to Machine Learning

Instructor: Fatemeh Tavasolli

Description: “his course provides an applied introduction to machine learning. Students learn how to design, train, evaluate, and improve predictive models using real-world datasets and industry-standard tools in Python.

Topics include data preparation, supervised learning methods (such as linear models, classification, decision trees, and ensemble methods), model evaluation, regularization, and an introduction to neural networks. The course emphasizes understanding the full machine learning process, from preparing raw data to building and evaluating reliable models, through guided coding exercises and practical applications.

The final project requires students to  design, develop, and present an end-to-end machine learning solution.

CIS 4930 – Brain Wave Interfaces

Instructor: Marvin Adujar

Description: This course explores the cutting edge of Human-Computer Interaction (HCI), focusing on new forms of interface that use passive measurements of neurophysiological states. We will delve into how we can use signals from the brain to understand cognitive states like workload and engagement, and even to control machines.

You will explore the foundational research in a range of related fields, including Neuroscience, Cognitive Psychology, and Computational Neuroscience. A key component of the course is a deep dive into non-invasive electroencephalography (EEG), a technology that allows us to measure brain activity. We’ll also cover the basics of other brain imaging techniques, such as near-infrared spectroscopy (fNIRS) and functional Magnetic Resonance Imaging (fMRI) and discuss their applications in computing.

Spring 2026

CIS 4930 Competitive Programming

Instructor: Zhang

Prerequisites/Co-requisites: COP 3530 Data Structures and Algorithm with a minimum grade of B

Description: Introducing techniques for attacking and solving challenging computational problems. Topics including search, divide and conquer, dynamic programming, graph, string processing, and computational geometry\

CIS 4930: Fullstack IoT

Expected background: Course Prerequisite: COP3503 Prog. Fundamentals 2

Description: The Internet of Things is driving change in our society in many areas, such as healthcare, agriculture, environmental monitoring, and natural resource management. This course will introduce students to the concepts involved in creating an end-to-end IoT system. We will explore trade-offs and challenges at every level of the IoT stack, including devices, communication, web development, and ML Cloud integration. Students will gain hands-on experience with simulation and physical devices.

CIS 4930 Internet Programming

Instructor: Ritzhaupt

Expected background: Completion of COP 3503 with a passing grade or instructor permission.

Description: Course topics focus on software development and problem-solving applied to real-world problems with solutions designed and implemented in various languages. Topics include operating system concepts (e.g., Linux), 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), web services and application programmer interfaces (e.g., JSON), software diagrams (e.g., ERDs), agile development principles (e.g., SCRUM), and other related technologies (e.g., regular expressions) used in full-stack web development. Prior programming experience is assumed and required. Students will extend course topics via programming assignments, concept quizzes, and a culminating web application group project extending across the duration of the semester.

CIS 4930 Intro to Deep Learning (UFO)

Instructor: Zhe Jiang

Description: With the wide availability of huge amount data being collected in multiple sectors, our society is transitioning from a data poor era to a data rich era. An imminent need exists to turn such data into useful information and knowledge. Data science is a field across multiple disciplines such as computer science, statistics, and business analytics that studies how to automatically extract useful patterns and make predictions from a large amount of data. The objective of the course is to introduce fundamental concepts & techniques in data science. The course will primarily focus on the data science foundations and the advantages and disadvantages of various methods for different data characteristics.

Topics to cover include data preprocessing, data exploration, classification/prediction, clustering, deep learning, etc. There will also be invited speakers on various data science applications. The specific topics are subject to adjustments throughout the semester by the instructor.

Expectations and Goals: The course is suitable for undergraduate students with solid statistics knowledge and Python programming skills, who are strongly interested in learning deep learning. The goal is to learn how various deep learning techniques work and practice the techniques in lab programming assignments.

CIS 4930/6930 Internet Storage Systems

Instructor: Kavalan

Description: Design and analysis of storage systems in the Internet from application’s point of view. Major effort is devoted on application natures, and their impact on high-level protocols at the application and transport layer.

CIS 4930/6930 Introduction to Virtual Reality

Instructor: Alexandre Gomes de Siqueira

Expected background: None

Description: This course explores the theory and practice necessary to develop effective immersive virtual environments as a medium to solve real-world problems and convey impactful messages. It discusses techniques for achieving real-time, dynamic generation of synthetic audio, visual, and haptic stimuli. It includes hands-on experience with head-mounted displays and other VR technologies. By the end of the course, as a final project, students will have designed and built a fully functional virtual environment.

CIS 6930 Computer Engineering Machine Learning and Deep Neural Networks

Instructor: Jingwei Sun

Prerequisite: Students are expected to have the necessary object-oriented programming experience (e.g., C++, Python) and be familiar with linear algebra and computer architecture fundamentals prior to taking this course.

Description: This course explores a range of computer engineering approaches used in the development of machine learning and deep neural network models. Emphasis is placed on strategies for enhancing training and inference performance, including improvements in model accuracy, size, and runtime. Students will examine and apply techniques widely studied in academia and employed in industry. Hands-on programming exercises will be conducted with extensive use of the PyTorch framework.

Objectives:

This course aims to improve your ability to:

  1. Comprehend the mechanisms, applications, and limitations of techniques commonly used for training and inference in machine learning and deep neural networks.
  2. Formulate hypotheses and design experiments that employ these techniques.
  3. Analyze experimental results—both from the literature and your own work—and draw conclusions supported (or not supported) by the data.
  4. Synthesize and communicate findings through clear oral explanations, figures/graphs, captions, and written result narratives.
  5. Apply sound engineering practices to develop novel ML algorithms and deep neural network models.
  6. Propose new engineering approaches to improve training and inference performance.

CIS 6930: Introduction to Neural Network Verification

Description: Why is neural network verification? Deep learning (DL) models are crucial in solving a myriad of real-world challenges, including image classification, natural language processing, and robotics. However, it is imperative to acknowledge that these models are vulnerable to adversarial attacks, where even minor changes in input can result in unexpected outputs. This vulnerability underscores the necessity of verifying learning-enabled systems (LES) built on DL technology, particularly in safety-critical domains such as autonomous vehicles and cancer diagnosis. Recent years have seen significant research efforts focused on overcoming the challenges associated with verifying deep neural networks and ensuring the reliability of neural network control systems.

CIS 6930 Special Topics: Data Engineering

Instructor: Christan Grant

Description: Data are the fundamental units in Artificial Intelligence (AI) and Machine Learning (ML) systems. Effectively harnessing this data is the responsibility of software engineers and data scientists. In this course, we will survey a landscape of AI/ML applications to understand how data flows through the systems. We will look at the engineer’s responsibilities for developing performant systems ethically and responsibly. Students will learn how to design, build, and evaluate data pipelines. We will cover the theoretical underpinnings of fairness and bias throughout data systems. Students will produce a comprehensive project using systems that integrate best practices.

Topics include:

  1. Data and data types (Image, Visual, Logs)
  2. Cleaning/Labeling Data
  3. Crowdsourcing
  4. Prompt Engineering
  5. Benchmarks, Metrics, Evaluation
  6. Continuous Integration and Testing
  7. Ethics and Fairness
  8. Visualizing Data
  9. Large Language Models