Elective Courses

Data Science & Analytics Electives

ANLY-521: Computational Linguistics – Advanced Python

This course teaches advanced topics in programming for linguistic data analysis and processing using the Python language. A series of assignments will give students hands-on practice implementing core algorithms for linguistic tasks. By the end of the course, students will be able to transform pseudocode into well-written code for algorithms that make sense of textual data, and to evaluate the algorithms quantitatively and qualitatively. Linguistic tasks will include edit distance, semantic similarity, authorship detection, and named entity recognition. Python topics will include the appropriate use of data structures; mathematical objects in numpy; exception handling; object-oriented programming; and software development practices such as code documentation and version control. 3 credits.

ANLY-530: Data Ethics Privacy & Security

This course introduces, discusses, and considers a robust set of issues involved in data ethics, privacy, and security. Topics will include the ethical collection, storage, and use of data, as well as best practices for managing and sharing massive data. Concerns related to security and data privacy, as well as related consequences such as discrimination, inappropriate monetary gain, and other potential abuses will be explored. This class will also examine issues relating to fairness, transparency, and the privacy of algorithmic systems that utilize data, as well as the fairness and transparency of decisions made by machines. Topics will include how the use, storage, manipulation, and exchange of massive data can affect the individual as well as the society. Concepts such as data encryption, differential privacy, and secure multiparty computation will be addressed. 3 credits.

ANLY-550: Structures and Algorithms for Analytics

This course covers algorithmic techniques for solving different types of data science problems. It will cover Big O notation, data structures (arrays, stacks, queues, lists, trees, heaps, graphs), sorting and searching (binary search trees, hash tables), and algorithmic paradigms for efficient problem solving (divide and conquer, recursion, greedy algorithms, dynamic programming, etc.). It will include both theory and practice. You will learn to design, analyze, and implement fundamental data structures and algorithms. This course will provide the algorithmic background essential for further study of computer science topics. 3 credits.

ANLY-555: Data Structures, Objects, and Algorithms in Python

The  Data Structures, Objects, and Algorithms in Python course will look at built-in data structures, such as dictionaries, lists, tuples, sets, strings, and frozen sets. The course will also cover objects and classes in Python, as well as building new structures and objects. The class will cover algorithms including runtime, recurrence, and development. Applications will include data science problems. Prerequisite: A working or intermediate knowledge of Python. 3 credits.

ANLY-558: Advanced Algorithms for Analytics

This course covers algorithmic techniques for solving different types of data science problems. Topics include algorithm design paradigms (divide-and-conquer, greedy, dynamic programming), graph algorithms (shortest paths, minimum spanning trees), computational intractability and NP-completeness, fundamental techniques for processing massive data sets (streaming and approximation algorithms), and basics of supervised learning. You will learn to design, analyze (via theorems and proofs), and implement fundamental data structures and algorithms. This course will also provide the algorithmic background essential for further study of computer science topics. 3 credits.

ANLY-560: Time Series

Time series analytics focuses on trends that occur in data over time. The Time Series class will use R to perform time series analysis for a variety of applications, including financial, econometrics, policy, health, engineering, forecasting, etc. Time series data can be used to better understand temporal forces and to generate predicative models. Often, underlying or latent effects can lead to observable trends. Analytics techniques will include model fitting, statistical methods, visualization, and storytelling. This course will include structured programming with the R language, statistical computing, the use of models to make forecasts, data formatting, cleaning and manipulation of data, solving statistical and time series equations, building predictive models, utilizing graphical applications, and applying applicable machine learning methods and models. It is recommended that students know multivariate calculus, linear algebra, and probability and statistics at the undergraduate level. 3 credits.

ANLY-561: Optimization

Optimization is concerned with the general task of finding a set of parameters such that a given target function is made as small as possible or such that the fit with a desired goal is as close as possible. Such parameters can be numbers, but also character strings, geometric shapes, or paths in a network. These problems are ubiquitous in data science. Topics of this course include: Common mathematical optimization paradigms, efficient algorithmic techniques, and important Data Science applications of optimization over Euclidean spaces. The primary paradigms covered are Linear Programming, Convex Programming, and Semidefinite Programming. Algorithmic techniques include Line Searches, Gradient Descent, Newton’s method, the Simplex Method, and Interior Point Methods. Various formulations of the least-squares problem are used to motivate theory and techniques throughout the course, and the course concludes with a selection of applications of optimization in Data Science (which may include Clustering, Community Detection, Dimension Reduction, Expectation Maximization, Latent Semantic Indexing, Neural Networks, Search, Spectral Embeddings, Stochastic Gradient Descent, Support Vector Machines, or Visualization depending upon student interest). 3 credits

ANLY-565: Advanced Analytics and Applied Math for Streaming and High Dimension Data and Applications

This course covers sparse, low-rank, non-linear, and randomized techniques for analyzing high dimensional data in unsupervised or supervised settings. Techniques are motivated by real world applications and datasets. Applications include analysis of financial data, gene expression data, and image and video datasets. For example, streaming data, Internet-of-things data, medical image and video data, gene expression data, and financial datasets are all examples of high-dimensional datasets where the number of variables describing the dataset can overwhelm traditional estimation and computational approaches. Sparse, low-rank, non-linear, and randomized approaches have recently emerged to handle these kinds of datasets. The successes of these methods demonstrates that high dimensional data often exhibits a low dimensional structure that can be exploited to recover robust, efficient data analysis. This class includes coverage of LASSO, CART, highD logistic regression, sparse dictionary learning, alternating minimization, compression applications for image compression, PCA, kernel PCA, Johnson-Lindenstrauss, metric graphs and spectral embeddings, spectral graph theory, manifold learning, K-SVD, geometric multiresolution analysis, kernel density estimation, and others. 3 credits.

ANLY-569: Blockchain Technologies for Data Science

This course is designed to provide hands-on experience in building public and private blockchains. Students will gain the critical insight, practical knowledge, and technical skills required to design and integrate successful blockchain technologies into a business domain. The course covers the basics of Blockchain technologies including decentralized ledgers, consensus mechanisms, Public and Private key cryptography, smart contracts, etc. The class also examines the public policy and social issues addressed by and arose from adopting blockchain technology in finance, supply chain, and healthcare. The course utilizes Blockchain services (such as Azure) to teach blockchain development on platforms such as Ethereum (or other) and provides the necessary path for learning to build Blockchain networks at scale. Blockchain technologies (distributed ledger, smart contracts, etc.) are a new paradigm in data management and sharing technologies. Gartner Technology hype cycle predicts blockchain to be the industrial ready phase in the next five years. Students will take a deep dive into organizations with integrated blockchain technologies as part of their business strategy. Blockchain’s mainstream use by firms like Walmart, Merck, BlackRock will mean that our Data Analytics program graduates will be interacting with the technology often and will require expertise in handling, extracting, converting data to and from the blockchain. This course will provide an early introduction to the graduates, making them Blockchain-ready. 3 credits.

ANLY-575: Adv. Web Dev and Apps for Data Science

This class will cover all aspects of web development and related applications including HTML, DOM, JavaScript, Events, Client-Server interaction, client-side events, server-side data collection and forms with response options, GitHub, GitPages, and using Git, server management using apache, and advanced page development using languages such as PHP and others. Applications will include managing clients and services via the web as well as interactive and visual elements as well as database access via MySQL. 3 credits.

ANLY-580: Natural Language Processing for Data Analytics

This course will cover the major techniques for mining and analyzing textual data to extract interesting patterns, discover knowledge, and support decision-making. Students will learn the main concepts and algorithms in Natural Language Processing and their applications in data science. These include search and information retrieval, document clustering and classification, topic modeling, sentiment analysis, and deriving meaning from unstructured narratives. In addition to traditional techniques in machine learning such as regression, decision trees, and Naive Bayes algorithms, the course will also examine the latest approaches in Deep Learning. Students will be given the opportunity to develop hands-on experience in building foundational tools and machine learning algorithms that can be applied to real analytics problems. The data obtained from textual content can be used to augment numerical data for the purposes of building predictive models, identifying emerging issues, detecting opinion, and determining important relationships. Prerequisites: Working knowledge of Python. 3 credits.

ANLY 585: Geographic Information Systems (GIS) and Applications

Geographic Information Systems (GIS) are used as tools for describing, analyzing, managing, and presenting information about the relationships between geographical and spatial locations, sizes, and shapes. This is known as attribute data. GIS uses techniques that can represent social and environmental data as a map, with a significant number of applications including those in engineering, architecture, public health, environmental science, and business. GIS data will be created through a variety of methods including those offered by global positioning system (GPS) technologies. This course will assume knowledge of R and Python. 3 credits.

ANLY-590: Neural Networks and Deep Learning

This course will explore the fundamentals of artificial neural networks (ANNs) and deep learning. The following topics will be covered: feed-forward ANNs, activation functions, output transfer functions for regression and classification, cost functions and related likelihood functions, backpropagation and optimization (including stochastic gradient descent and conjugate gradient), auto-encoders for manifold learning and dimensionality reduction, convolutional neural networks, and recurrent neural networks. Overfitting and regularization will be discussed from both theoretical and practical viewpoints. Concepts and techniques will be applied to several domains including image processing, time series analysis, natural language processing, and more. Students will gain mastery of popular deep learning frameworks in the Python ecosystem including Tensorflow and Keras. 3 credits.

ANLY-599: Digital Storytelling

This course will offer a strong foundation in data communication, storytelling for data science, and decision science in data science. Writing topics will include technical writing, writing for action, specifications documentation, and writing for communication in data science with respect to non-technical readers. Storytelling and visualization topics will include methods for presenting results as conclusions, presenting results as actionable items, and creating presenting visual narratives so as to clarify the information contained with data for those making decisions. Visualization topics will include coding tools, such as ggplot and matplotlib, interactive tools, such as plotly and Tableau, as well as advanced interactive visualization methods such as NetworkD3, leaflet, and client-server-based Shiny/R. Interactive visualizations will focus not only on clearly illustrating information within data for use in decision-making, but also for use in discovery and exploration, as well as question generation. Topics in expression, color use, and style will be included. Further topics in the area of information presentation will include speaking with clarity to a team, group, or large audience, understanding and focusing explanations toward an audience appropriately, presenting conclusions that any audience can understand and utilize, as well as flow, clarity, and methods in improving communication. All parts of the course will contain applications is decision science and will focus on the utilization of the results of data science and analytics to promote public good, to encourage social concerns and equality, and to support change in areas such as business, public health, and public policy. 3 credits.

ANLY-601: Advanced Topics in Machine Learning

This course provides a mathematically detailed survey of select topics in statistical learning theory, optimization, deep learning, and reinforcement learning. Topics may include the following: MLE, MAP, M-estimators, and robust regression/classification methods. Low-rank approximation, PCA, ICA, and discriminant analysis methods. Cross correlation and CCA. Information entropy, divergence measures, the Gini index, mutual information, maximum entropy estimation, and information theoretic lower bounds. State-space models, joint state-parameter estimation, expectation maximization, mixture models, and the Kalman filter. Statistical consistency, Bayes error and the Bayes optimal classifier, empirical and structured risk minimization, concentration inequalities and generalization bounds, the VC-dimension, Markov and Chebyshev’s inequalities, the Chernoff bound, and PAC learning. Multivariate density estimation, KDE, Bayes filter, variational inference, ergodic Markov chains and the Metropolis-Hastings algorithm, Gibbs sampling, Hamiltonian MC, and NUTS. Ensemble methods, boosting, and bagging. Distance measures, energy based modeling, contrastive methods, and metric learning. Graphical models, graph cuts and the graph Laplacian, spectral clustering, message passing, and approximate inference. Black-box optimization, Pareto optimality, evolutionary algorithms, Bayesian non-parametric models, Bayesian optimization and MC-based acquisition functions, the knowledge gradient, expected hypervolume improvement, and Bayesian bandits. Agent based systems, the Bellman equation, SARSA, Q-learning, policy optimization, proximal gradient methods, sample efficiency, variance reduction techniques in RL, and MC tree search. Prerequisite: ANLY-501. 3 credits.

ANLY-605: Machine Learning App Deployment

This course will focus on gathering data so as to build an ensemble of machine learning methods that can predict, classify, and explore data entered by a client. This is an applied class that will engage in the steps required to create and deploy online a ML application that can be utilized by a client. Topics will include a very brief review of common ML techniques including NB, SVM, DT, RF, ARM, NN, and clustering. APIs will be used to gather, explore, clean, and prepare data for training a ML model ensemble. The model will be deployed via a client-server web application to enable clients to enter data and receive a classification or prediction. 3 credits.

ANLY-640: Database Systems and SQL

This course will explore several aspects of modern database management systems, database programming, relational databases, semi-structured databases, and SQL. The course will begin with an introduction to relational models, normal forms and schema design, relational algebra, and SQL Programming. The course will focus on application development using relational databases and will introduce Big Data concepts and discuss Big Data Processing. Both structured and semi-structured data will be considered, such as XML, JSON, and record-style. Query processing methods will be applied and evaluated. Topics will also include recursion in SQL, constraints and triggers, indices and transactions, data storage including column-oriented and distributed storage, noSQL, and different types of databases, such as non-relational, scientific, parallel, and streaming. The course will discuss types of database-system architectures, including cloud-based services. Applications will coincide with data science and analytics, as well as public policy, intelligence generation, and narratives. Tools may also include cloud-based DBMS. 3 credits.

ANLY-677: Image Mining and Computer Vision Analytics

The Image Mining and Computer Vision Analytics course provides a comprehensive introduction to Image Mining and Computer Vision Analytics including image acquisition and representation, low-level vision, and high-level analytics. Image Mining topics may include image representation, image processing, and image retrieval. Low-level vision topics may include, convolution, Fourier Transform, filters, operators, and feature generation. High level vision topics may include, classification, segmentation, spatial relations, deep-fake (vision fake) detection, object tracking, deformable models, image sentiment analysis,  and graph based models. Applications will include facial recognition in Python, OpenCV in Python, Deep Fake (fake images) detection, image sentiment and gesture analysis, and object/scene detection and categorization. 3 credits.

ANLY-905: Internship

An internship provides the student with practical work experience. This course enables international students to do internships at US companies. Students must obtain the approval from the Program Director and submit a Curricular Practical Training (CPT) form to proceed with an internship under this course. To be approved, an internship must be aligned with the Analytics program goals and provide a significant learning experience for the student. At the end of the internship, the student must submit a deliverable to the course instructor, 0.25 credits. (The program does not require students to complete an internship.)

Back to Top

Computer Science Electives

The following are computer science courses that could be appropriate for use towards elective requirements. Please be aware that courses part of the core computer science curriculum may have seating priority for CS students, or have prerequisite restrictions. You should speak directly with the course instructor to see if seating is available and if you satisfy prerequisites prior to semester enrollment.

Image Processing (COSC-455) (new window)

Statistical Machine Translation (COSC-482) (new window)

Intro to Cryptography (COSC-530) 

Contact Department of Computer Science for more information

Data Privacy (COSC-531) (new window)

Network Security (COSC-535) (new window)

Advanced Algorithms (COSC-540) (new window)

Probabilistic Proof Systems (COSC-544) (new window)

Theory of Computation (COSC-545) (new window)

Automated Reasoning (COSC-574) (new window)

Statistical Machine Learning (COSC-578) (new window)

Computer Vision (COSC-579) 

Contact Department of Computer Science for more information

Advanced Data Bases (COSC-580) (new window)

Web Search and Sense-making (COSC-589) (new window)

Back to top

Mathematics Electives

The following is a selection of mathematics courses that could be appropriate as electives. Please be aware that courses part of the mathematics curriculum may have seating priority for Mathematics students, or have prerequisite restrictions. You should speak directly with the course instructor to see if seating is available and if you satisfy prerequisites prior to semester enrollment. There may be additional mathematics courses of interest that can be adopted for the program.

Mathematics of Climate (MATH-412) (new window)

Applied Longitudinal Analysis (MATH-426) (new window)

Mathematics of Social Networks (MATH-442) (new window)

Stochastic Simulation (MATH-611) (new window)

Bayesian Statistics (MATH-640) (new window) – Prerequisite: MATH-501 (new window).

Categorical Data Analysis (MATH-657) (new window)

Back to top

Other Department Electives

Please be aware that courses that are part of other departments’ curriculum may have seating priority for their students, or have prerequisite restrictions. You should speak directly with the course instructor to see if you are eligible for enrolling.

Machine Learning for Bioinform (BIST-532) (new window) 

Offered by the Department of Biostatistics, Bioinformatics, and Biomathematics

Clinical Trials and Experimental Design (BIST-540) (new window)

Offered by the Department of Biostatistics, Bioinformatics, and Biomathematics

Social Network Analysis (CCTP-696) (new window)

Offered by the Communication, Culture and Technology (CCT) Master of Arts Program.

Regression Analysis (OPIM-573) (new window)

Offered by the Department of Operations & Information Management.

Database Development and Management (OPIM-654) (new window) 

Offered by the Department of Operations & Information Management.

GIS and Spatial Data Modeling for Public Policy (PPOL-683) (new window) 

Offered by the Department of Public Policy.

The Policy Issues of Big Data and Artificial Intelligence (PPOL-762) (new window) 

Offered by the Department of Public Policy.

Back to top