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 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 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:
- Comprehend the mechanisms, applications, and limitations of techniques commonly used for training and inference in machine learning and deep neural networks.
- Formulate hypotheses and design experiments that employ these techniques.
- Analyze experimental results—both from the literature and your own work—and draw conclusions supported (or not supported) by the data.
- Synthesize and communicate findings through clear oral explanations, figures/graphs, captions, and written result narratives.
- Apply sound engineering practices to develop novel ML algorithms and deep neural network models.
- Propose new engineering approaches to improve training and inference performance.
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:
- Data and data types (Image, Visual, Logs)
- Cleaning/Labeling Data
- Crowdsourcing
- Prompt Engineering
- Benchmarks, Metrics, Evaluation
- Continuous Integration and Testing
- Ethics and Fairness
- Visualizing Data
- Large Language Models
Summer/Fall 2025
CIS4930 Fullstack IoT Development
Instructor: Jean Louis
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.
CIS4930 Introduction to Virtual Reality: UFO (Summer 2025)
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.
CIS6930 Advanced User Design Experience
Instructor: Lisa Anthony
Expected background: CEN 5728 User Experience Design
Description: User experience design (UXD) techniques used in industry or advanced research often need to be adapted to the context, in consideration of time, money, resources, and emerging interaction technologies. This course will build on the foundation taught in CEN 5278 User Experience Design. Graduate students will engage in a deep, iterative design cycle on a project of their choice, relevant to their research and/or industry goals. During class sessions, we will focus on student-driven discussions of how UXD methods have been updated and adapted in real use cases; and in-class teamwork on the semester project.
CIS6930 AI Ethics for Technology Leaders (co-listed with EGN6933
Instructor: Sonja Schmer-Galunder
Expected background: None
Description: This course will enable future technology leaders to understand the ethical considerations of leveraging AI in professional settings. We will look at real-world scenarios where technology leaders have faced ethical challenges, assess the impact of AI systems within a global context, and learn to navigate complex ethical issues in AI, while respecting and incorporating diverse social and cultural values. By the end of the course, students will better understand AI as part of a larger socio-technical system and will be able to evaluate the impact of AI on society and individuals on a global scale.
CIS4930/CIS6930 Multimedia Expert Systems (co-taught undergrad and grad sections)
Instructor: Jonathan Kavalan
Expected background: None
Description: Covers the fundamentals of expert systems for all data types. Understand the integrated design issues for multimedia expert systems. Survey of the recent advances in multimedia expert systems.
CIS4930/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.
CIS4930: Enterprise Software Engineering
Instructor: Audrey Simonne
Expected background: Recommended Course Prerequisites: CEN 3031 Intro to Software Engineering*
*Students without this pre-req course should be familiar with git, how to make open source contributions, agile/scrum methodologies, and developing software as part of a team.
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.
CIS4930: Introduction to Machine Learning
Instructor: Mohammad Al-Saad
Expected background: None
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.
CIS4930/6930: Security and Privacy for At-Risk Populations
Instructor: Kevin Butler
Expected background: None
Description: Computing systems and services have become ubiquitous in modern society and are deeply embedded in people’s daily lives. However, as practices and technologies for ensuring security and privacy of computing systems emerge in this rapidly changing technological landscape, the needs of at-risk populations have been largely unaddressed. This course will examine these populations and how their needs have been addressed by computer security and privacy research, and to understand the unique threats and risks they face. We will examine foundational research, identify the techniques used by computer security and human-centric computing researchers to perform research in this area, and examine interventions and principles of design that can make for safer and more secure computing experiences for all users. Guest lecturers representing research leaders in this area will supplement and extend the course content.
This will be a seminar-style course with active participation required from students. There will be substantial reading assignments in this class that will focus on current research papers. Other materials such as books and journal articles may also be assigned, to provide context and further understanding of the area.
Please contact the instructor if you have questions regarding the material or concerns about whether your background is suitable for the course.
CIS6930: Large Language Models
Instructor: Yuanyuan Lei
Expected background: None
Description: Large Language Models (LLMs) provide the foundational technology behind recent breakthroughs in Natural Language Processing, enabling systems to generate fluent text, write code, answer complex questions, and perform a wide range of language-driven tasks. At the same time, their rapid advancement also brings new ethical, societal, and technical challenges. This course provides a comprehensive introduction to the fundamentals and recent advances in Large Language Models, covering their architecture, training methods, capabilities, and practical applications. In addition, we will also introduce the current limitations of Large Language Models, such as hallucinations, safety alignment, long-context limitations, security and privacy concerns etc., and discuss potential mitigation strategies for addressing these issues.
Classroom: MWF 5 (11:45am to 12.35pm) in CSE E220
Type: Graduate course