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**

CAP 5771 - Data Mining (3). Prerequisite: ISC 3222 or ISC 3313 or ISC 4304C or COP 3330 or COP 4530 or instructor permission. 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.

PHI 5699 - 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.

MAP 5196 - 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.

CAP 5768 - Introduction to Data Science (3). Prerequisites: Graduate standing in science or engineering, or permission of the instructor. Some familiarity with basic concepts in linear algebra and probability theory. Some basic knowledge of algorithm designs and some experience with Python or Java programming. 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.

STA 5207 - Applied Regression Methods (3). Prerequisite: One of STA 2122, STA 4322, or STA 5126. This course discusses topics such as general linear hypothesis, analysis of covariance, multiple correlation and regression, response surface methods.

STA 5910 - 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.

STA 5635 - Applied Machine Learning (3). Prerequisite: STA 3032 or instructor permission. 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:

ISC 5XXX - 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.

ISC 5XXX - 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.

ISC 5XXX - 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.

ISC 5228 - Monte Carlo Methods (3). Prerequisites: ISC 5305; MAC 2311, 2312. 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.

ISC 5305 - Scientific Programming (3). Prerequisites: working knowledge of one programming language (C++, Fortran, Java), or instructor permission. 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.

ISC 5307 - Scientific Visualization (3). Prerequisites: CGS 4406, ISC 5305, or instructor permission. 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.

ISC 5315 - Applied Computational Science I (4). Prerequisites: ISC 5305; MAP 2302; or instructor permission. 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 coursework 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.

ISC 5318 - High-Performance Computing (3). Prerequisites: ISC 5305 or equivalent or instructor permission. 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:

CAP 5605 - Artificial Intelligence (3). Prerequisite: COP 4530. 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.

CAP 5619 - Deep and Reinforcement Learning Fundamentals (3). Prerequisite: Senior or grad standing in science or engineering; or instructor permission. Requires some familiarity with basic concepts in linear algebra and probability theory, some basic knowledge of algorithm design, and programming experience with Python. : 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.

CAP 5769 - Advanced Topics in Data Science (3). Prerequisite: COP 4530 (Computer Science undergraduate students); or IDC 4104 and graduate standing in science or engineering majors; or instructor permission. Familiarity with basic linear algebra, probability, algorithms, some Python or Java skills.: 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.

CAP 5778 - Advanced Data Mining (3). Prerequisite: Students need to have a working knowledge of probability theory, linear algebra and common data mining algorithms. They should have taken a course covering the fundamentals of data structures, algorithms and generic programming (or equivalent). 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.

CDA 5125 - Parallel and Distributed Systems (3). Prerequisite: COP 4610. 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.

CDA 5155 - Computer Architecture (3). Prerequisite: CDA 3101. 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.

CEN 5035 - Software Engineering (3). Prerequisites: CEN 4021, COP 4020, and COP 4530. 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.

CIS 5370 - Computer Security (3). Prerequisites: COP 4610. 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.

CIS 5379 - Computer Security Fundamentals for Data Science (3). Prerequisite: CGS 3465. This is an introduction to computer security course, targeted towards graduate students in data science. This course covers a broad range of topics within computer security, such as cryptographic algorithms, security protocols, network authentication, and software security.

CNT 5505 - Data and Computer Communications (3). Prerequisites: CDA 3100 and COP 4610. 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.

CNT 5605 - Computer and Network Administration (3). Prerequisite: COP 4610. 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.

COP 5570 - Concurrent, Parallel, and Distributed Programming (3). Prerequisite: COP 4610. 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.

COP 5611 - Advanced Operating Systems (3). Prerequisites: CDA 3100, COP 4610, and introductory probability or statistics. This course focuses on design principles of batch, multiprogramming, and time-sharing systems; distributed systems; problems of concurrency.

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

COT 5405 - Advanced Algorithms (3). Prerequisite: COP 4530. 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:

MAD 5XXX - 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.

MAD 5XXX - 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.

MAD 5XXX - 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.

MAD 5306 - Graphs and Networks (3). Prerequisite: MAS 3105. 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.

MAD 5403 - Foundations of Computational Mathematics (3). Prerequisites: MAS 3105; competence in a programming language suitable for numeric computation. Analysis and implementation of numerical algorithms. Matrix analysis, conditioning, errors, direct and iterative solution of linear systems, rootfinding, systems of nonlinear equations, numerical optimization.

MAD 5404 – Foundations of Computational Mathematics II (3). Prerequisite: MAD 5403. Interpolation, quadrature, approximation theory, numerical methods for ordinary differential equations and partial differential equations.

MAD 5420 - Numerical Optimization (3). Prerequisites: MAC 2313; MAS 3105; C, C++, or Fortran. This course covers topics from unconstrained and constrained minimization as well as global minimization.

MAP 5345 – Partial Differential Equations (3). This course covers the separation of variables; Fourier series; Sturm-Liouville problems; multidimensional initial boundary value problems; nonhomogeneous problems; Bessel functions and Legendre polynomials.

#### Statistics:

STA 5066 - Data Management and Analysis with SAS (3). Prerequisite: Previous background in statistics at least through linear regression or instructor permission. 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.

STA 5067 - Advanced Data Management and Analysis with SAS (3). Prerequisite: STA 5066. 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.

STA 5106 - Computational Methods in Statistics (3). Prerequisites: At least one previous course in statistics above STA 1013 and some previous programming experience; or instructor permission.

STA 5166 - Statistics in Applications I (3). Prerequisite: MAC 2313. 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.

STA 5167 - Statistics in Applications II (3). Prerequisite: STA 5166. 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.

STA 5238 - Applied Logistic Regression (3). Prerequisite: STA 3032 or an equivalent upper division course that covers basic statistics at least through linear regression. 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.

STA 5326 - Distribution Theory and Inference (3). Prerequisites: MAC 2313; at least one previous course in statistics or probability. This course is an introduction to probability, random variables, distributions, limit laws, conditional distributions, and expectations.

STA 5507 - Applied Nonparametric Statistics (3). Prerequisite: A course in statistics above STA 1013 or instructor permission. This course focuses on applications of nonparametric tests, estimates, confidence intervals, multiple comparison procedures, multivariate nonparametric methods, and nonparametric methods for censored data.

STA 5707 - Applied Multivariate Analysis (3). Prerequisite: One of STA 5167, STA 5207, or STA 5327. This course discusses inference about mean vectors and covariance matrices, canonical correlation, principal components, discriminant analysis, cluster analysis, and computer techniques.

STA 5856 - Time Series and Forecasting Methods (3). Prerequisite: One of STA 5167, STA 5207, or STA 5327. 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.

STA 5939 - Introduction to Statistical Consulting (3). Prerequisite: STA 5167, or STA 5327, or instructor permission. This course consists of the formulation of statistical problems from client information, the analysis of complex data sets by computer, and practical consulting experience.