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.

Spring 2027

CIS 4930: Brain Interfaces

Instructor: Marvin Andujar

Description: This course offers an in-depth exploration of the field of neural interfaces and non-invasive brain-computer interfaces (BCIs) from a computer science and human-computer interaction perspective. Students will delve into the fundamental principles, design, and implementation of systems that enable direct communication between the human brain and computational devices or virtual environments. This course covers the entire pipeline of a BCI system, from the acquisition and processing of neural signals to their translation into commands for controlling external hardware and software.

CIS 4930: Competitive Programming

Instructor: Ronnie Zhang 

Description:  An introduction to algorithmic techniques and problem-solving paradigms for high-performance computational problems. Topics include search algorithms, divide and conquer, dynamic programming, graph theory, string processing, and computational geometry. Emphasis is placed on algorithm analysis, implementation accuracy, spatial and temporal efficiency.

CIS 4930: Deep Learning

Instructor: Zhe Jiang (UFO)

Description: Intro to deep learning from data-driven perspective. Basic ML and deep learning. 

CIS 4930: Efficient and Robust Deep Neural Networks

Instructor: Jingwei Sun (UFO)

Description: A course introducing deep neural network design, optimization, and deployment for students without a prior deep learning background. Topics include convolutional and recurrent networks, attention and Transformer models, model compression (quantization, sparsity), hardware-aware optimization, federated learning, adversarial robustness, and AutoML. Hands-on assignments using PyTorch and a final research-oriented project ensure students gain both practical skills and analytical insight.

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/6930: Distributed ML

Instructor: My Thai

Description: This course provides a foundational and algorithmic study of scalable machine learning (ML) models and training techniques. As modern AI applications increasingly require processing massive datasets and training complex models, distributed ML has become an essential technique. The course moves beyond single-machine constraints to explore key algorithmic and optimization paradigms for scaling. We will thoroughly investigate Data Parallelism and Model Parallelism through the lens of gradient aggregation, computational efficiency, and convergence theory. Core topics include Distributed Stochastic Gradient Descent (D-SGD), the Parameter Server optimization strategy, techniques for handling large models like Federated Learning and Mixture of Experts (MoE). The focus remains on how to design ML algorithms that converge efficiently in a distributed setting. 

CIS 4930/6930: Fundamental Limits of AI

Instructor: Meera Sitharam

Description

Prerequisite:  An upper division (3000 or higher) class where you  acquired some confidence in reading and writing a high volume and variety of mathematical proofs.

Examples of such a course could be any one of: Discrete Math / Sets and Logic,  Algorithm Analysis,  Theory of Computation, Foundations of Math,  Intro to Combinatorics/Abstract Algebra/Number theory/Real Analysis /Topology,  Intro to Game Theory or Proof-based Linear Algebra/ Linear Optimization  

Target Student population: Upper division undergrad and Grad students  from a variety of backgrounds in  CS, Math, Physics, ECE, ISE and possibly also Philosophy, Economics, Information Systems and Linguistics who have satisfied the above prerequisite, and are  interested in the topic.

Topic:  During the course, the student is expected to learn to formally deconstruct different types of hype around AI from a logical, complexity theoretic, information theoretic, game theoretic or epistemological perspectives. The student is expected to acquire tools to answer the following types of questions:

  1. What basic computational problems AI cannot solve, or processes AI cannot predict or generate and why ( because they are undecidable, computationally irreducible, conjectured intractable or tractably indistinguishable from random)?
  2. What is known or not known about scalability and complexity of common AI models and the problems they solve ? ( e.g. via reduction to known open problems concerning complexity lower bounds)?
  3. How to reason about thermodynamic and algorithmic information theoretic limits of “recursive self-improvement” or “alignment” of AI models and their resource-use – leading to an appropriate definition of Work?
  4. What is an appropriate epistemology of “Understanding” for the AI context?
  5. What is the underlying game theory of collective action problems relating to AI race dynamics among model competitors, and our ability to democratically regulate access, ownership and consent rights to resources utilized and generated by AI. ?

The course is expected to require a high level of involvement and participation of students. Since there is no established textbook, the course will  require – in addition to lectures – substantial volume of reading  in formal mathematical style,  substantial student discussions and demos of semester-long projects expected to be motivated by students’ personal concerns about AI.  Lectures and student projects are expected to be compiled into a curated  volume.

CIS 4930/6930: Internet Storage Systems

Instructor: Jonathan Kavalan

Description:  Design and analysis of storage systems for the Internet from the 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 Intro to Intelligent Agents

Instructor: Emmanuel Dorley

Description: This course covers the theoretical foundations and practical implementations of intelligent agent systems. Students will explore the design and operation of autonomous agents capable of perceiving their environment, making decisions, and executing actions to achieve specific objectives. Key topics include agent communication protocols, decision-making processes, and the development of both single-agent and multi-agent systems. Through hands-on projects, students will build prototypes  of agents for various applications. This will equip them with the skills to develop agents that effectively interact within dynamic environments.

CIS 4930/6930 : Optimization Algorithms for Machine Learning and Data Science

Instructor: Alireza Entezari

Description: This course introduces the fundamental optimization algorithms that underlie modern machine learning and data science. Topics include basics of numerical linear algebra, mathematical foundations of optimization, gradient and stochastic gradient methods, acceleration, coordinate and proximal methods, constrained optimization, and optimization for large-scale data problems. Emphasis is placed on understanding the design, analysis, and computational behavior of optimization algorithms 

CIS 4930/6930: Reinforcement Learning for Humans, Animals, and Robots

Instructor: Eakta Jain

Description: This course will cover reinforcement learning (RL) foundations from biological organisms to autonomous machines. By the end of the course, students will be able to discuss the mechanisms of RL in humans, identify RL concepts at play in human and animal interactions and propose robot learning paradigms inspired by animal training techniques. Students will practice setting up and training RL agents and critiquing the ethical and safety implications of this paradigm. 

CIS 6930:  AI and Consciousness

Instructor: Anand Rangarajan

Description: TBD

CIS 6930: AI for Cloud and Edge Resource Management

Instructor: Ye Xia

Description:  This research-oriented graduate course explores how artificial intelligence and machine learning can be used to manage computing and networking resources in cloud, edge, and distributed systems. Topics include task offloading, server and GPU scheduling, network-aware resource allocation, workload placement, congestion and traffic management, distributed AI inference, and reinforcement learning for online decision-making. Students will study and present recent research papers, critically evaluate proposed methods, participate in group discussions, and complete a research project. The course will also examine when learning-based approaches offer advantages over traditional optimization, queueing, networking, and scheduling techniques.

Students should have basic knowledge of computer networks, machine learning and neural networks. Knowledge in reinforcement learning is not required, but will be helpful. Familiarity with cloud computing, optimization, or Python-based machine-learning tools is helpful but not required.

CIS 6930: Genomics AI

Instructor: Kiley Graim

Description: This course surveys the landscape of artificial intelligence (AI) algorithms in genomics. The class uses a seminar format with in-class discussions of weekly readings covering the foundational research papers that introduced these algorithms in genomics. By the end of the course, students will have the ability to analyze primary computational biology literature, identify and formulate an AI approach to solve a genomic question, and understand foundational concepts and problems in computational biology, including but not limited to 3D protein structure modeling, pharmacogenomic design, precision medicine, sequence-to-expression prediction, genotype-to-phenotype relationships, and regulatory network inference.” 

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, 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.