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.
Applied Machine Learning
Course number(s): CIS4930/CIS6930
Instructor: Vincent Bindschaedler
Prerequisites: Basic proficiency with programming is required. Experience with Python is a plus but not required.
Description:
Covers foundational machine learning concepts with an emphasis on applying these concepts on real-world data through Python programming exercises and assignments using the relevant libraries and frameworks (i.e., scikit-learn, Keras, Tensorflow, etc).
Blockchain and Its Applications
Course number(s): CIS6930
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-’90s. The potential applications of Blockchain technologies span across a variety of different environments, from cryptocurrencies 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 Security, Scalability, Optimization aspects, and its Emerging Applications.
Digital Health
Course number(s): CIS4930/CIS6930 (for co-taught undergrad and grad sections)
Instructor: Abdelsalam (Sumi) Helal
Prerequisites: None
Description:
Health and Wellness are undergoing digital transformations requiring a skilled workforce catering to the emerging Health Tech industry as well as the top Computer Tech industry including Microsoft, Google, Amazon, Facebook, among many others. The code name for this new interdisciplinary area, emerging technology, skill set, and eventually own-industry is Digital Health. Digital Health entails the use and application of digital informatics and cybernetic technology in the pathways of disease diagnosis, treatment, healthcare delivery, health-related learning, and in general supporting individuals and populations in staying active and healthy throughout the entire lifespan.
This is a special topic class on the emerging and interdisciplinary area of Digital Health, with provision for both undergraduate and graduate sections. Ideally, the class should include students from both the health and medicine domain as well as from the computing and engineering as well as business domain. This semester, enrolled students are from engineering, liberal arts and sciences, nursing and business background, even though the great majority of the students are from engineering. Nevertheless, we should be able to the objectives of this class can be met through cohort-style and collaborative learning.
Human-Centered Input Recognition Algorithms
Course number(s): CIS6930
Instructor: Lisa Anthony
Prerequisites: None
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 2022, 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.
Internet Networking Technologies
Course number(s): CIS4930
Instructor: Jonathan Kavalan
Prerequisites: COP 3530
Description:
Design and analysis of Internet networking technologies from application’s point of view. Major effort is devoted on application natures, and their impact on higher-level protocols at the application- and transport-layer
Introduction to Competitive Programming
Course number(s): CIS4930
Instructor: Rong Zhang
Prerequisites: 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
Machine Learning in Genomics
Course number(s): CIS6930
Instructor: Kiley Graim
Prerequisites: Exposure to R/Python is recommended, but extensive experience is not required.
Description:
High-throughput genomic and biomedical data are transforming biological sciences into “big data” disciplines. At the same time, there have been rapid advances in deep learning approaches, creating exciting opportunities for large-scale genomics research. This course explores machine learning approaches to analyzing genomics data, equipping students with practical knowledge to apply state-of-the-art machine learning techniques to genomics data. In addition to supervised, unsupervised, and generative models, the course addresses how to extract and visualize biological insights derived from trained models. We will also discuss key statistical concepts in analyzing high-dimensional data. Recent papers from the literature will be presented as discussed in class, and students will create a semester-long class project exploring real-world datasets relevant to their research.
Mobile Computing
Course number(s): CIS4930
Instructor: Abdelsalam (Sumi) Helal
Prerequisites: COP3503
Description:
This special topics course for undergrad is offered alongside CNT5517 – a graduate-level course on Mobile and Pervasive Computing. The mix of grad/undegrad students in this class has proven to be very effective as observed in numerous times this combined offering was tried. You will learn Mobile Computing Models, Mobile Platforms (specifically Android), Elements of Smart Spaces, Basics of Internet of Things (IoT), and advanced topics on IoT including Architectures and Programming Models. This is a hands-on class with a major group term project.
Network Analytics and Machine Learning
Course number(s): CIS4930/CIS6930
Instructor: Ahmed Helmy
Prerequisites: Programming skills (using Python, Java, or others) at the level of COP 3502 or 3503 or above.
Description:
The overarching theme of this course is the application of data analytics, statistical, and machine learning techniques to problems in various networked systems. Example target networks include computer, mobile and sensing networks, as well as social, transportation, and health networks and systems (such as disease spread, infection and epidemics).
Probability for Computer Systems and Machine Learning
Course number(s): CIS4930/CIS6930 (for co-taught undergrad and grad sections)
Instructor: Ye Xia
Prerequisites: Calculus at the level of MAC 2313, linear algebra at the level of MAS 3114, and basic probability and statistics at the level of STA 3032.
Description:
The course covers probability theory tailored to computer science students who need to work with probability, especially those who work on algorithm design or performance evaluation for computer and network systems, and those who work on machine learning and AI. Part of the course will focus on the methods and tricks to compute probabilities so that students will gain usable skills of probability calculation. The course will cover the measure-theoretical foundation of probability, with the goal that students can later read or learn material that involves more advanced probability theory. Examples will be drawn from the computer systems area and machine learning area. In particular, we will cover the basics of statistical learning. Topics: probability and random variables; conditional probability and conditional expectation; basic convergence theorems; inequalities; basics of renewal process, Poisson process and Markov chain; Gaussian random variables; basics of statistical inference and statistical learning; measure theory.
Software Security
Course number(s): CIS4930
Instructor: Byron Williams
Prerequisites: Senior Standing
Description:
The Software Security course focuses on teaching students the fundamentals of application security with the aim of providing a foundational level of knowledge matched with offensive and defensive skills developed through hands-on experience. Students will learn the basics of software security, common vulnerabilities and attacks, threat modeling, the secure development lifecycle, while receiving hands-on practice in both exploitation techniques and strategies for protecting and hardening applications. The theoretical portions of the course will focus strongly on secure design as a means of enabling developers in creating robust, secure applications.