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: Deep Learning
Instructor: Zhe Jiang (UFO)
Description: Intro to deep learning from data-driven perspective. Basic ML and deep learning.
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 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 4930/6930: Fundamentals of AI
Instructor: Meera Sitharam
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: Discrete Math / Sets and Logic, Intro to Game theory, Intro to Combinatorics/Abstract Algebra/Number theory/Real Analysis /Topology or Proof-based Linear Algebra/ Linear Optimization
Target Student population: Upper division 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 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 generate and why ( because they are undecidable, computationally irreducible or conjectured intractable)?
2. What is known or not known about scalability and complexity of common AI models and the computational problems they solve ? ( e.g. via reduction to known open problems concerning complexity lower bounds)?
3. How to reason about thermodynamic and 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 democratization of AI ownership and use?
As there is no established textbook, the course will require – in addition to lectures – substantial volume of reading in formal mathematical style and substantial student discussions/demos of semester-long projects.
CIS 4930/6930 – Special Topics: 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: 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: 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: 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 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 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.”
CIS 6930: AI and Consciousness
Instructor: Anand Rangarajan
Description: TBD
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.
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.