Explore these course descriptions to learn more about the content, concepts, techniques, and technology covered in each core and elective course within the FSU Interdisciplinary Data Science Master's Degree Program, or IDS. A detailed list of core coursework and elective course requirements is available under the Student tab, Coursework link.

**Core Curriculum**

Data Mining (3): This course enables students to study data mining concepts and techniques, including characterization and comparison, association rules mining, classification and prediction, cluster analysis, and mining complex types of data. Students also examine applications and trends in data mining.

Data Ethics (3): This course examines ethical questions related to the analysis, management, and application of data. Through case studies and class discussions, students will develop their ability to recognize and analyze ethical issues that arise in their work as data scientists. Topics may include privacy, accountability, consent, transparency, and fairness.

Mathematics for Data Science (3): This course covers basic mathematical methods and tools used in data analysis. The topics will include singular value decomposition of matrices, low-rank models, Lagrange multipliers, convex minimization, gradient descent methods, as well as applications.

Introduction to Data Science (3): This course will serve as an introduction and overview of the fundamentals of data science. Specific topics will include an overview of data management fundamentals, information retrieval, introductory machine learning concepts and frameworks, basic data visualization architectures, an overview of architectures of large-scale data management and analytical systems, and distributed computational paradigms.

Applied Regression Methods (3): This course discusses topics such as general linear hypothesis, analysis of covariance, multiple correlation and regression, response surface methods.

Professional Development (1): This course familiarizes students with the importance of “soft skills” when working as a statistician, including written and oral communication, working effectively in teams, translating client goals into statistical analyses, and otherwise excelling in a collaborative role. Classes will be led by experts who have experience as collaborative statisticians in a variety of fields.

Applied Machine Learning (3): This course is a hands-on introduction to statistical methods for supervised, unsupervised, and semi-supervised learning. It explores fundamental techniques including but not limited to Support Vector Machines, Decision Trees, Linear Discriminant Analysis, Random Forests, Neural Networks, and different flavors of Boosting.

**Elective Courses**

Course descriptions for elective courses are listed by IDS program major area of study.

#### Computational Science:

Cloud Computing (3): This course will cover practical machine learning at scale with the Google Cloud Platform. Students will learn best practices on how to leverage the cloud to store massive image, audio, and video datasets, how to query data, serverless computing, introspection techniques, model monitoring, and visualizations techniques. Exercises will be conducted on the cloud with public datasets.

Probabilistic Programming (3): In this course, students will learn how to write code where probability constructs are first-class citizens. Topics include how to formulate ideas from probability and inference as meta-programs, Hidden Monte-Carlo sequences, Sequential Monte-Carlo and a variety of particle filter techniques to handle nonlinear and Non-Gaussianity.

Neural Differential Equations (3): This course will introduce parameter estimation and model development using a combination of neural networks and differential equations. Topics will include Bayesian inference, adjoint equations, backpropagation, auto-differentiation, illustrated with examples from biology, finance, and neuroscience.

Monte Carlo Methods (3): This course introduces probabilistic modeling and Monte Carlo methods (MCMs) suitable for graduate students in science, technology, and engineering. Students learn discrete event simulation, MCMs and their probabilistic foundations, and the application of MCMs to various fields. In particular, Markov chain MCMs are introduced, as are the application of MCMs to problems in linear algebra and the solution of partial differential equations.

Scientific Programming (3): This course focuses on object-oriented coding in C++, Java and Fortran 90 with applications to scientific programming. Discussion of class hierarchies, pointers, function and operator overloading and portability. Examples include computational grids and multidimensional arrays.

Scientific Visualization (3): The course covers the theory and practice of scientific visualization. Students learn how to use state-of-the-art visualization toolkits, create their own visualization tools, represent both 2-D and 3-D data sets, and evaluate the effectiveness of their visualizations.

Applied Computational Science I (4): This course provides students with high-performance computational tools necessary to investigate problems arising in science and engineering, with an emphasis on combining them to accomplish more complex tasks. A combination of course work and lab work provides the proper blend of theory and practice with problems culled from the applied sciences. Topics include numerical solutions to ODEs and PDEs, data handling, interpolation and approximation, and visualization.

High-Performance Computing (3): This course introduces high-performance computing, a term which refers to the use of parallel supercomputers, computer clusters, as well as software and hardware in order to speed up computations. Students learn to write faster code that is highly optimized for modern multi-core processors and clusters, using modern software-development tools and performance analyzers, specialized algorithms, parallelization strategies, and advanced parallel programming constructs.

#### Computer Science:

Artificial Intelligence (3): This course is an introduction, representing knowledge, controlling attention, exploiting constraints, basic LISP programming, basic graph searching methods, game-playing and dealing with adversaries, understanding vision, theorem proving by computer, and computer programs utilizing artificial intelligence techniques.

Deep and Reinforcement Learning Fundamentals (3): This course covers fundamental principles and techniques in deep and reinforcement learning, as well as convolutional neural networks, recurrent and recursive neural networks, backpropagation algorithms, regularization and optimization techniques for training such networks, dynamic programming, Monte Carlo, temporal difference, function approximation reinforcement learning algorithms, and applications of deep and reinforcement learning. The course also covers active research topics in deep and reinforcement learning areas.

Machine Learning Fundamentals (3): This course provides a rigorous introduction to modern topics within machine learning, including supervised, unsupervised, and reinforcement learning. The focus of this course is to be introduced to basic machine learning concepts and how to analyze them. Proofs and theoretical guarantees are emphasized throughout the course.

Parallel and Distributed Systems (3): This course introduces various systems aspects of parallel and distributed computing. Topics include parallel computer architectures, interconnects, parallel programming paradigms, compilation techniques, runtime libraries, performance evaluation, performance monitoring and tuning, as well as tools for parallel and distributed computing.

Computer Architecture (3): This course focuses on computer system components; microprocessor and minicomputer architecture; stack computers; parallel computers; overlap and pipeline processing; networks and protocols; performance evaluation; architecture studies of selected systems.

Software Engineering (3): This course surveys software engineering and a detailed study of topics from requirements analysis and specification, programming methodology, software testing and validation, performance and design evaluation, software project management, and programming tools and standards.

Computer Security Fundamentals for Data Science (3): This is an undergraduate-level introduction to computer security, targeted towards seniors and advanced juniors. This course covers a broad range of topics within computer security, such as cryptographic algorithms, security protocols, network authentication, and software security.

Computer Security (3): In this course, topics include computer security threats and attacks, covert channels, trusted operating systems, access control, entity authentication, security policies, models of security, database security, administering security, physical security and TEMPEST, and brief introductions to network security and legal and ethical aspects of security. A research paper or project is required.

Advanced Data Mining (3): This course will discuss techniques for processing and mining large amounts of data. It will cover the basic data mining techniques for data classification and clustering; it will also include advanced concepts such as semi-supervised learning, locality-sensitive hashing, recommender systems, PageRank and large-scale machine learning algorithms.

Advanced Topics in Data Science (3): This course will emphasize practical techniques for working with large-scale, heterogeneous data. Specific topics covered will include fundamentals of data management, data models, data cleaning, fusion, information retrieval, statistical modeling, machine learning, deep learning, data pipelines, visualization, "big data" management systems, distributed computational frameworks and paradigms and tools. The goal is to provide advanced theoretical foundations, hands-on experience and train students to become capable data scientists, develop their analytical skills, provide them experience with real-world systems.

Computer and Network Administration (3): This course covers UNIX user commands and shell programming. Also covered are problem solving and diagnostic methods, system startup and shutdown, device files and installing devices, disk drives and file systems, NFS, NIS, DNS, sendmail. Students also learn how to manage a WWW site, manage UNIX software applications, system security, and performance tuning. Legal and professional issues, ethics and policies are covered.

Data and Computer Communications (3): This course offers an overview of networks; data communication principles; data link layer; routing in packet switched networks; flow and congestion control; multiple access communication protocols; local area network protocols and standards; network interconnection; transport protocols; integrated services digital networks (narrowband and broadband); and switching techniques and fast packet switching.

Advanced Operating Systems (3): This course focuses on design principles of batch, multiprogramming, and time-sharing systems; distributed systems; problems of concurrency.

Database Systems (3): Prerequisites: Operating Systems and Database Systems. This course examines the use of a generalized database management system; characteristics of database systems; hierarchical, network, and relational models; file organizations.

Concurrent, Parallel, and Distributed Programming (3): This course covers UNIX and C standards, file I/O, file access and attributes, directories, the standard I/O library, systems administration files, the process environment, process control, process relationships, signals, terminal I/O, daemon processes, interprocess communication, and pseudo terminals.

Advanced Algorithms (3): This course covers algorithms, formal proofs of correctness, and time complexity analysis for network flow problems, approximation of NP hard combinatorial optimization problems, parallel algorithms, cache-aware algorithms, randomized algorithms, computational geometry, string algorithms, and other topics requiring advanced techniques for proof of correctness or time/space complexity analysis.

#### Mathematics:

Principles and Foundations of Machine Learning (3): This course will provide an in-depth treatment of the mathematical principles and methods underlying several machine learning algorithms ranging from dimension reduction to deep neural networks.

Numerical Linear Algebra (3): This course covers the design and analysis of efficient and robust algorithms for problems in numerical linear algebra with an emphasis on those of use in science, engineering, and statistics.

Numerical Optimization (3): This course covers topics from unconstrained and constrained minimization as well as global minimization.

Graphs and Networks (3): This course covers examples of networks in science and technology, mathematical principles of network theory, types of network centrality, random networks and the large-scale structure of networks.

Topological Data Analysis (3): This course will cover topological methods used in data analysis. The topics include persistent homology, the mapper algorithm and methods based on metric geometry.

#### Statistics:

Data Management and Analysis with SAS (3): This course introduces SAS software in lab-based format. SAS is the world’s most widely used statistical package for managing and analyzing data. The objective of this course is for students to develop the skills necessary to address data management and analysis issues using SAS. This course includes a complete introduction to data management for scientific and industrial data and an overview of SAS statistical procedures.

Advanced Data Management and Analysis with SAS (3): This course presents additional methods for managing and analyzing data with the SAS system. It covers as many of the following topics as time permits: advanced data step topics, manipulation of data with Proc SQL, the SAS Macro Facility, simulation with the data step and analyses with Proc IML.

Statistics in Applications I (3): This course introduces topics such as comparison of two treatments, random sampling, randomization and blocking with two comparisons, statistical inference for means, variances, proportions and frequencies, and analysis of variance.

Statistics in Applications II (3): This course focuses on topics such as special designs in analysis of variance, linear and nonlinear regression, least squares and weighted least squares, case analysis, model building, non-least squares estimation.

Statistics in Applications III (3): This course focuses on topics such as response surface methods, repeated measures and split-plot designs, basic log-linear and logit models for two-way and multiway tables, and multinomial response models.

Analysis of Variance and Design of Experiments (3): This course expounds on topics such as one and two-way classifications, nesting, blocking, multiple comparisons, incomplete designs, variance components, factorial designs, confounding. Graduate credit for non-statistics majors only.

Applied Regression Methods (3): This course discusses topics such as general linear hypothesis, analysis of covariance, multiple correlation and regression, response surface methods. Graduate credit for non-statistics majors only.

Statistical Inference (3): This course introduces students to the basics of statistical inference and its applications. The overarching goal is to introduce statistical techniques to estimate and provide uncertainty measures of the estimates themselves of key quantities of a population (e.g. mean, median, location shift, variance, etc.) using the observed sample.

Applied Logistic Regression (3): This course is an applied introduction to logistic regression, one of the most commonly used analytic tools in statistical studies. Topics include fitting the model, interpretation of the model, model building, assessing model fit, model validation, and model uncertainty.

Distribution Theory and Inference (3): This course is an introduction to probability, random variables, distributions, limit laws, conditional distributions, and expectations.

Applied Nonparametric Statistics (3): This course focuses on applications of nonparametric tests, estimates, confidence intervals, multiple comparison procedures, multivariate nonparametric methods, and nonparametric methods for censored data.

Applied Machine Learning (3): This course is a hands-on introduction to statistical methods for supervised, unsupervised, and semi-supervised learning. It explores fundamental techniques including but not limited to Support Vector Machines, Decision Trees, Linear Discriminant Analysis, Random Forests, Neural Networks, and different flavors of Boosting.

Applied Multivariate Analysis (3): This course discusses inference about mean vectors and covariance matrices, canonical correlation, principal components, discriminant analysis, cluster analysis, and computer techniques.

Time Series and Forecasting Methods (3): This course explores autoregressive, moving average and mixed models, autocovariance and autocorrelation functions, model identification, forecasting techniques, seasonal model identification estimation and forecasting, intervention and transfer function model identification, estimation and forecasting.

Introduction to Statistical Consulting (3): This course consists of the formulation of statistical problems from client information, the analysis of complex data sets by computer, and practical consulting experience.

Spatial Statistics (3): This course examines methods for the analysis of spatial data, including geostatistical data, lattice data, and point patterns. The course also includes theory and applications of basic principles and techniques.