Skip to main content

University of Michigan School of Information


MADS courses

SIADS 501 - Being a Data Scientist

This course explores what expertise, perspectives and ethical commitments applied data scientists bring to projects. We will apply that lens to four phases of data science projects: problem formulation, data acquisition, modeling and analysis, and presentation of results. Through this process students will formulate a statement of who they want to be as data scientists.


SIADS 502 - Math Methods for Data Science

Math Methods will review and establish math concepts that are foundational for a data scientist’s toolkit. Students will learn and apply concepts from linear algebra (such as matrices and vectors), basic optimization techniques (such as gradient descent) and statistics (such as Bayes' Rule) in this course.


SIADS 503 - Data Science Ethics

The course introduces the ethical challenges that data scientists face and can help to resolve using case-based reasoning within four domains that are central to data science: data privacy, bias, data provenance, and accountability.

Prerequisite: SIADS 501; (C- or better)


SIADS 505 - Data Manipulation

Data Manipulation presents manipulation and cleaning techniques using the popular Python Pandas data science library. By the end of this course, students will be able to take tabular data, clean it, manipulate it and run basic inferential statistical analyses.


SIADS 511 - SQL and Databases

This course will introduce the students to beginning and intermediate database concepts. The students will learn the structured query language, the design of data models, loading and normalizing data, how to query databases, and how to measure the performance of various ways of indexing and querying data.


SIADS 515 - Efficient Data Processing

This course will introduce students to the basics of the linux command-line interface, debugging concepts, basic algorithmic principles such as memoization, recursion, caching, and generators, as well as efficiency and code profiling.


SIADS 516 - Big Data: Scalable Data Processing

This course will introduce students to the use of the Spark data analysis framework for the analysis of Big Data. We will cover the theory and application of MapReduce strategies, the use of Resilient Distributed Datasets in cluster computing, and higher-level abstractions such as DataFrames and SparkSQL, which facilitate efficient analysis of large amounts of data.

Prerequisites: SIADS 511, SIADS 505 (C- or better)


SIADS 521 - Visual Exploration of Data

Visual Exploration of Data teaches students how to look for (visually) aggregate patterns within data using the matplotlib library. Students will learn the challenges in visually exploring and representing analytic data with a focus on understanding how statistical measures can be applied.

Prerequisite: SIADS 505; (C- or better)


SIADS 522 - Information Visualization I

Information Visualization I will initiate information visualization — visual representations of data through interactive systems. Specific focus is on the role of visualization in understanding data, multidimensional data, and how perception, cognition, and good design enhance visualization. This course introduces APIs for visualization construction.

Prerequisite: SIADS 505; (C- or better)


SIADS 523 - Communicating Data Science Results

Data scientists need to be able to present their analyses to clients and stakeholders, sometimes "translating" to those without statistical or data fluency. You will learn strategies for effective visual, written, and oral communication and create a technical report and oral presentation for your professional portfolio.

Prerequisite: SIADS 522; (C- or better)


SIADS 524 - Presenting Uncertainty

This course will introduce strategies and techniques for effective uncertainty communication, with a particular focus on uncertainty visualization. A coherent framework for understanding the communication of uncertainty from statistical models will be introduced, as well as strategies for communicating, uncertainty about model specifications themselves.

Prerequisite: SIADS 502 and 522; (C- or better)


SIADS 532 - Data Mining I

Data Mining I introduces basic concepts and tasks of data mining. This course focuses on how to formally represent real world information as basic data types (itemsets, matrices and sequences) that facilitate downstream analytics tasks. Students will learn how to characterize each type of data through pattern extraction and similarity measures.

Prerequisites: SIADS 502 & 505; (C- or better)


SIADS 542 - Supervised Learning

Students will learn how to correctly apply, interpret results, and iteratively refine and tune supervised machine learning models to solve a diverse set of problems on real-world datasets. Application is emphasized over theoretical content.

Prerequisite: SIADS 502 and 505; (C- or better)


SIADS 543 - Unsupervised Learning

Students will learn how to correctly apply, interpret results, and iteratively refine and tune unsupervised machine learning models to solve a diverse set of problems on real-world datasets. Application is emphasized over theoretical content.

Prerequisite: SIADS 542; (C- or better)


SIADS 593 - Milestone I

Students will engage in a portfolio project which covers data analysis, manipulation, and visualization, as well as a comprehensive exam to date on learning to date.

Prerequisites: SIADS 501, 503, 505, 511, 515, 516, 521, and 522; (C- or better)


SIADS 601 - Qualitative Inquiry for Data Scientists

Qualitative research methodologies are useful to data scientists as a way to gain insight into data sets, to generate hypotheses about data, and to synthesize analysis outcomes. The course will overview basic qualitative research skills including interview protocols, semi-structured interviews, qualitative analysis through affinity diagrams, and synthesis for written reports.


SIADS 611 - Database Architecture & Technology

This course will cover advanced techniques in representing and indexing data in JSON and full-text fields. We will also review and cover the performance of database operations across all types of SQL queries. We also compare and contrast relational and non-relational approaches to database and discuss when to use various different database technologies.

Prerequisite: SIADS 511 (C- or better)


SIADS 622 - Information Visualization II

This course extends our understanding of information visualization. Leveraging the topics covered in Information Visualization I, we introduce interactive techniques that can be used broadly for visualization. The course will also introduce techniques for visualizing specific data types: temporal, network, hierarchical, and text.

Prerequisite: SIADS 522; (C- or better)


SIADS 630 - Causal Inference

This course introduces common methods of causal inference. Students will learn how to think about appropriate research designs to estimate causal effects. Topics include randomized experiments, regression discontinuity, instrumental variables, and differences-in-differences. We will go through examples using python. Familiarity with basic concepts in probability and statistics is desirable.


SIADS 631 - Experiment Design and Analysis

Experiment Design and Analysis presents experiment design for laboratory and field experiments. Students will discuss the logic of experimentation and the ways in which experimentation has been — and could be — used to investigate social and technological phenomena. Students will learn how to design experiments and analyze experimental data. 


SIADS 632 - Data Mining II

This course extends Data Mining I and introduces additional data representations and tasks involved in mining real world data, with a particular focus on sequence modeling, time series analysis, and mining data streams. It introduces how to extract patterns, compute similarities/distances of data, and conduct other relevant data mining tasks under these data representations.

Prerequisite: SIADS 532; (C- or better)


SIADS 642 - Deep Learning I

This course will introduce basics of neural networks and deep learning. It will focus on developing an understanding of what kind of real-world data problems are amenable to deep learning models. Students will develop familiarity with various commonly used deep learning methods such as Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), and Generative Adversarial Networks (GANs) via hands-on coding exercises and multichoice quizzes.

Prerequisite: SIADS 502, 505, and 542; (C- or better)


SIADS 643 - Machine Learning Pipelines

Students will gain an understanding of how machine learning pipelines function and common issues that occur during the construction and deployment phases. Students will learn how to prototype, test, evaluate, and validate pipelines. By the end, students should be able to build an end-to-end pipeline for supervised machine learning tasks.

Prerequisite: SIADS 532, 542, and 632; (C- or better)


SIADS 644 - Reinforcement Learning Algorithms

This course covers the basic principles of reinforcement learning and popular modern reinforcement learning algorithms. Students will develop familiarity with both model-based and model-free reinforcement learning algorithms, including Q-learning, Actor-Critic algorithms, and multi-armed bandit algorithms.

Prerequisite: Preceded or accompanied by SIADS 502, 642, and 632; (C- or better)

SIADS 652 - Network Analysis

This course will introduce students to basic network analysis techniques, with an emphasis on developing programming skills to manipulate an analyze real network data using Python. The course includes topics such as network evolution, link prediction, network centrality, models of information diffusion on networks, and community structure.

Prerequisite: Preceded or accompanied by SIADS 502 and 505 and 542; (C- or better)


SIADS 655 - Applied Natural Language Processing

This course introduces students to working with language data and how to turn unstructured text into structured information for use with other data science areas. Students will learn how to use common techniques and software libraries for analyzing the semantics and syntax of language.

Prerequisite: SIADS 542 and 643; (C- or better)


SIADS 680 - Learning Analytics and Educational Data Science

The course examines the application of data science to better understand and improve learning. Anchored in the fields of learning analytics and educational data mining, this course analyzes the unique opportunities and challenges associated with applying data science methods to data stemming from schools, universities, and myriad learning opportunities.

Prerequisite: SIADS 631, 694, and 695; (C- or better)


SIADS 682 - Social Media Analytics

This course will introduce concepts and approaches to mining social media data. It focuses on obtaining and exploring those data, mining networks, and mining texts from social platforms. Students will learn how to apply previously learned data mining concepts in the context of social media data.

Prerequisite: Preceded or accompanied by SIADS 503, 522, 652, and 655; (C- or better)


SIADS 685 - Search and Recommender Systems

This course introduces concepts, methods, and applications of information retrieval, with a focus on search and recommendations. Students will learn algorithms, evaluation metrics, and tools for indexing, ranking, and filtering text data and understand the context of popular industrial applications, including Web search, ads ranking, feeds ranking, and recommender systems.

Prerequisite: SIADS 694; (C- or better) and preceded or accompanied by SIADS 695; (C- or better)


SIADS 688 - Data Science for Social Good

This course analyzes the motivations and incentives for people to contribute to public goods. Students will learn how to apply causal inference techniques and social science theories to nudge pro-social behavior and evaluate the impact of such interventions. Application domains include energy conservation, safe driving, contributions to open content (Wikipedia), and open source software.

Prerequisite: Preceded or accompanied by SIADS 630, 631, and 694; (C- or better)


SIADS 696 - Milestone II

Milestone II represents a key assessment point for assessing fundamental data analytics skills and practices applied to realistic data science problems. Students will complete project-based work with guidance from the instructor, as well as a comprehensive exam.

Prerequisite: Preceded by SIADS 591 and [preceded or accompanied by SIADS 524, 543, 592, 630, 642, and 643]; (C- or better)


SIADS 699 - Capstone

This is a project-based course in which students propose and build end-to-end data science projects in their domains of interest. Students are asked to demonstrate mastery of data science concepts and methods from their MADS training and produce a creative, original, and technically rigorous portfolio piece. Projects will be supervised by instructors with regular peer review.

Prerequisite: Preceded by SIADS 694 and (preceded or accompanied by SIADS 695) and one of [(preceded by SIADS 682 or SIADS 688) or (preceded or accompanied by SIADS 680 or SIADS 685)]; (C- or better)


Sign up for our interest list and receive:

  • Invitations to exclusive information sessions and events 
  • The opportunity to chat with current students 
  • More in-depth information about the MADS program 
  • Tips and advice for creating a successful application 
  • Reminders for important deadlines