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.
Cyber-Physical Systems Security
Course number(s): CIS4930/CIS6930 (for co-taught undergrad and grad sections)
Instructor: Sara Rampazzi
Prerequisites: COP 3530 (Data Structures and Algorithms), programming experience recommended.
Cyber-physical systems integrate sensing, computation, control, and networking into devices and infrastructure, connecting them to the Internet and to each other while interacting with the physical world. The inherent interconnected and heterogeneous combination of behaviors in these systems makes their security a challenging task. From IoT to autonomous systems, from healthcare devices to critical infrastructure, which are the common threats and the strategies adopted to protect these systems? This introductory course covers foundational work and current hot topics in cyber-physical system security. Students will learn the challenges of building secure systems, analyzing research papers, writing technical essays, and conducting basic hands-on analysis. Students will learn methodologies for reproducible research, and gain knowledge of cyber-physical systems security principles, from threat modeling to privacy risks.
Enterprise Software Engineering Practices
Course number(s): CIS4930
Instructor: Sarvenaz Myslicki
Do you aspire to work in the tech industry? Do you want to learn how software gets built in large, billion-dollar companies? Do you want to stand out among other intern and full-time candidates? This course will be taught by industry leaders and former UF CISE graduates who have put together 100% of the content based on real-world experiences building enterprise software. The course will cover: processes, frameworks, and tools that large companies use to allow hundreds of engineers to collaborate and deliver software; how technology teams interface with other business units to deliver products and solutions; and modern software engineering best practices and enterprise architecture patterns
Course number: CIS6930 (for grad only)
Instructor: Eric Ragan
This course covers visualization techniques and software design to facilitate human understanding of data. Data visualization includes simple charts, complex applications, aesthetic infographics, and interactive analytics tools that allow the exploration, inspection, analysis, and interpretation of data. This course covers the foundational principles of data visualization and provides a hands-on experience in the design and evaluation of interactive software. Topics include abstract data visualization, 3D visualization, infographics, data narratives, principles of visual data encoding, and interaction techniques.
Internet Data Streaming
Course number(s): CIS6930 (for grad only)
Instructor: Shigang Chen
Prerequisites: Data Structures and Algorithms
Fundamental concepts, data structures and algorithms about extracting information from packet streams on the Internet in real-time, with applications in network security, traffic engineering, e-commerce, and big data analytics.
Introduction to Bioinformatic Algorithms
Course number(s): CIS4930 (for undergrad only)
Instructor: Kiley Graim
Prerequisites: Programming skills (Python, R, or other) at the level equivalent to COP 3502 or COP 3503 or above
This course covers introductory and intermediate-level topics in computational biology. We study the principles of algorithm design for biological datasets, analyze influential algorithms, and apply these to real datasets. Topics include: sequence and expression analysis, genotype to phenotype relationships, understanding gene function, regulatory network inference, and machine-learning applications to genomics.
Penetration Testing – Ethical Hacking
Course number(s): CIS6930 for grad only
Instructor: Joseph N. Wilson
Introduction to the principles and techniques associated with the cybersecurity practice known as penetration testing or ethical hacking. The course covers planning, reconnaissance, scanning, exploitation, post-exploitation, and result reporting. The student discovers how system vulnerabilities can be exploited and learn to avoid such problems.
Theory of Computation
Course number(s): CIS4930 (for undergrad only)
Instructor: Meera Sitharam
Prerequisites: COT 3100 and COP 3530 OR exposure to writing mathematical proofs and analyzing algorithms and consent of instructor.
The course concerns formal models of automation, and a rigorous, abstract way of thinking about computational problems, algorithms, computability, and complexity classes of computational problems and the limits of such classes. These abstractions are essential for a full-fledged computer scientist to adapt to emerging models of computation as they evolve and understand their limits. Key concepts and tools from theoretical computer science will aid the student to think about entire classes of computational problems, their alternate equivalent characterizations and closure properties, containment relationships between classes, representative computational problems in a class, reductions between problems in a class, and develop competence in wielding these concepts and tools toward the classification of computational problems into complexity classes. Having taken CIS4930 Design and Analysis of Algorithms OR COP4533 Algorithms Abstraction and Design will help but is not currently necessary. The class will co-locate with the graduate COT 6315 formal languages and theory of computation, with separate assessment criteria for graduate and undergraduate cohorts.
Marketing & Communications Specialist
Herbert Wertheim College of Engineering