Elective Courses



Analytics Electives

ANLY-520: Effective Presentation for Technology & Science. 

Clearly communicating problems, ideas, data, analysis approaches, results, and recommendations for action are vital for career success in technology and science. Strong technical writing is clear and unambiguous, easy to read, and concise. This course improves students’ writing, presentation, and critique skills. They will learn to communicate material to technical and non-technical audiences. Students will learn to write strongly by improving text clarity, simplicity, and conciseness, and incorporating high-quality graphics (LaTeX will be used for paper preparation). Students will learn to craft oral presentations that are clear, easy to follow, informative, and compelling, and will develop delivery skills that improve comprehension, audibility, comfort, and audience engagement, 3 credits.

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. Prerequisites: ANLY-501 and ANLY-511, 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-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, ANLY-511 and ANLY-512 or their equivalent, 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. Prerequisites: ANLY-511 and ANLY-512, fluency with Python, 3 credits.

ANLY-599: Storytelling, Data Communication and Decision Science. 

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 Machine Learning. 

This course introduces applications and theory underlying modern machine learning methods. It develops a rigorous foundation across several domains within the machine learning arena so that students have a framework to engage with research and deploy/assess advanced methodologies.  Topics are motivated by central questions in the field and are supplemented with weekly readings. 
The following topics are covered in the course: foundations and statistical learning (interpretable models), information theory, general distance measures, advanced hypothesis testing, boosting, bagging, Bayesian methods, dimension reduction, embeddings, semi-supervised learning, Gaussian processes and an introduction to deep learning. Time permitting reinforcement learning, multi-armed bandits, learning theory and variational inference will be discussed. Prerequisite: ANLY-512, 3 credits.

ANLY-640: Relational and Semi-Structured Databases and SQL Programming. 

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. Prerequisite: ANLY 501, 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