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.

Prerequisite: SIADS 505; (C- or better)


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

SIADS 591 - 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.

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


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


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