Skip to main content

University of Michigan School of Information

Menu

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.

Syllabus

SIADS 502 - Math Methods I

This course covers foundational topics in linear algebra and probability. Important mathematical concepts are introduced or derived in a rigorous manner. Through guided exercises, students will also learn to program with NumPy, the data science library that will be used extensively in subsequent technical courses. 

Syllabus

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)

Syllabus

SIADS 505 - Data Manipulation

This course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and Data Frame as the central data structures for data analysis, along with understanding of how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses.

Syllabus

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.

Syllabus

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.

Syllabus

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)

Syllabus

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)

Syllabus

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)

Syllabus

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)

Syllabus

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)

Syllabus

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: Preceded or accompanied by SIADS 502 and 505 and 602; (C- or better)

Syllabus

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: Preceded or accompanied by SIADS 502 and 505 and 602; (C- or better)

Syllabus

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 502 and 505 and 602 and 542; (C- or better)

Syllabus

SIADS 571 - Business SQL

This class will teach you how to handle complex SQL queries from business logic. Students will be presented with a variety of business needs and a database, students will have to respond to the business need using the database to answer the business question. This will cover using pandas to query a database as well.

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)

Syllabus

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.

Syllabus

SIADS 602 - Math Methods II

As a natural continuation of Math Methods I, this course covers more advanced topics in linear algebra and statistics in addition to some introductory optimization. Beyond rigorous mathematical definitions and derivations, students will also learn and explore important applications built upon selected concepts. The assessments in this course will explicitly encourage students to write efficient code that re-implements the mathematical ideas taught in the lectures. 

Prerequisites: Preceded or accompanied by SIADS 502 (C- or better)

Syllabus

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)

Syllabus

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: Preceded or accompanied by SIADS 505, 521, and 522; (C- or better)

Syllabus

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.

Syllabus

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. 

Syllabus

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: Preceded by SIADS 502 and 505 and 532 and 602; (C- or better)

Syllabus

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: Preceded or accompanied by SIADS 502, 505, 542, and 602; (C- or better)

Syllabus

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: Preceded by SIADS 502, 505, 532, 542, and 602 and preceded or accompanied by SIADS 511 or waiver (C- or better)

Syllabus

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 by SIADS 502 and 505 and 532 and 542 and 602) and (preceded or accompanied by 642 and 632); (C- or better)

Syllabus

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 by SIADS 502 and 505 and 542 and 602; (C- or better)

Syllabus

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: (preceded by SIADS 502 and 505 and 532 and 542 and 602) and (preceded or accompanied by 515 and 632); (C- or better)

Syllabus

SIADS 673 - Cloud Computing

This course will serve as an introduction to cloud computing and teach students about cloud infrastructure, cloud networks, management, methods to compare and contrast computing services, and performance, scalability, and availability of cloud resources for data related tasks. Transferring of large datasets around within the cloud to create cloud based pipelines will also be covered. At the end of this course, students should be able to set up cloud based workflows for doing common data science tasks.

Prerequisite: SIADS 502 and 505 and 511 and 542 and (602 or PreF22 Cohort 602 Exemption) and 643; (C- or better)

Syllabus

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 501 and 502 and 503 and 505 and 521 and 532 and 542 and 602 and 630 and 632; (C- or better)

Syllabus

SIADS 681 - Health Analytics

This course analyzes successful deployments and case studies of health analytics. Students will learn how to recognize the role of data analytics in healthcare settings and will be given a broad healthcare challenge to identify the appropriate technical tools to bear on the task. Students will gain experience with consumer informatics / mobile health, electronic health records, medical imaging and public health datasets. They will also gain domain expertise in the areas of stress and physical activity, pharmaceuticals, lung disease and epidemiology. 

Prerequisite: Preceded or accompanied by SIADS 696 (C- or better)

Syllabus

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 by SIADS 501 and 502 and 503 and 505 and 515 and 521 and 532 and 542 and 602 and 630 and 632 and 655) and (preceded or accompanied by 522 and 652); (C- or better)

Syllabus

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: Preceded by SIADS 501 and 502 and 503 and 505 and 515 and 532 and 542 and 602 and 630 and 632 and 655; (C- or better)

Syllabus

SIADS 687 - Introduction to Sports Analytics

In this course students will study how supervised machine learning techniques are applied in the domain of sports analytics including in individual sporting events, team events, and emerging wearable sensor technologies. Students will engage in applying their knowledge of machine learning through a hands-on competition in one or more sports analytics domains.

Prerequisite: Preceded or accompanied by SIADS 696 (C- or better)

Syllabus

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 by SIADS 501, 503, 505, 511, 515, 516, 521, 522, and preceded or accompanied by SIADS 593, 630, 631; (C- or better)

Syllabus

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: SIADS 501 and 503 and 505 and 511 and 515 and 516 and 521 and 593 and 524 and 532 and 542 and 543 and 630 and 632 and 642 and 643; (C- or better)

Syllabus

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: (SIADS 593 and 502 and 524 and 532 and 542 and 543 and 602 and 630 and 632 and 642 and 643) and [preceded or accompanied by SIADS 696 and (680 or 681 or 682 or 685 or 687 or 688)]; (C- or better)

Syllabus

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