Home | Syllabus | Schedule | Resources | Canvas | View on GitHub

Syllabus

Course number: CAAM 37830=STAT 37411

Lectures: MW 10:30 AM–11:50 AM Jones 226 (Winter Quarter)

People

Instructor: Brad Nelson. William H. Kruskal Instructor in the Department of Statistics. Office Hours TBD.

Grader: Yuan Luo. 2nd Year CAAM MS.

Course Description

Topological data analysis seeks to understand and exploit topology when exploring and learning from data. This course surveys core ideas and recent developments in the field and will prepare students to use topology in data analysis tasks. The core of the course will include computation with topological spaces, the mapper algorithm, and persistent homology, and cover theoretical results, algorithms, and a variety of applications. Additional topics from algebraic topology, metric geometry, category theory, and quiver representation theory will be developed from applied and computational perspectives.

Prerequisites: Linear algebra, prior programming experience, exposure to graph theory/algorithms.

Some Notes

Topological data analysis has its roots in algebraic topology, a topic primarily taught as a “pure math” subject. This course is designed for students interested in applications, so there won’t be any assumption of a pure math background (pure math students are still welcome to join). A basic background in computational/applied mathematics or statistics will be assumed, specifically linear algebra, basic graph theory/algorithms, and some programming ability. You may find a high-level familiarity with machine learning/data analysis inspirational, but it isn’t strictly necessary.

We will cover theory, algorithms, and applications, so there will be something for everyone. Yes, there will be proofs, yes there will be code, and yes there will be data.

You are welcome to use whatever programming language you like. Matlab, R, Julia, Python, and C++ all have TDA packages, and if you are dedicated you can write your own basic TDA package for a different language as we go along. For demonstration purposes I’ll mostly use a mix of C++ and Python.

Evaluation

If you want to take the course pass/fail, the homework is optional. Please discuss with the instructor if you intend to go this route.

Course Format

This course is scheduled to meet MW 10:30 AM–11:50 AM. The course is planned to be in-person following the University of Chicago COVID-19 policies.

There will be a couple of homework assignments which will be a mix of theory/conceptual questions, and coding/data analysis questions.

There will be a paper review which will involve reading a paper related to topological data analysis and writing a review of the paper. The paper can be on theory, algorithms, or applications. Some suggestions will be provided, but you can choose something else that you find interesting/relevant.

The project can be individual or in a small group (2-3 people). The project can involve an investigation into theory, algorithms, applications, or some mix. We’ll have project presentations (or recorded presentation videos) the last few days of class.

Lecture transcription is a chance to practice technical writing and an opportunity to dive deeper and more carefully into the material covered on one day of class. There may be more students than lectures, so you may have a partner. This will involve formatting your notes in LaTeX (a template will be provided as well as additional notes), filling in some details from the readings, and potentially extracting some figures from demonstration code. Once the notes are finalized, they will be made available to other students in the class.

Grading Policy

Letter grades will be assigned using the following hard cutoffs:

A: 93% or higher
A-: 90% or higher
B+: 87% or higher
B: 83% or higher
B-: 80% or higher
C+: 77% or higher
C: 60% or higher
D: 50% or higher
F: less than 50%

We reserve the right to curve the grades, but only in a fashion that would improve the grade earned by the stated rubric.

Collaboration Policy

You are encouraged to collaborate with others in the class and use the internet to help with solving problems.

When working with others, you can discuss problems and solutions, but your solutions should be written independently, and do not copy code. Note anyone you who contributed to your solution in a comment.

If you find helpful information online, put a note about what you used as well as the url in a comment.

Textbook & Readings

This is a graduate-level course on a fairly young field, so we’ll draw material from a couple of different sources. There isn’t a canonical textbook on the material, but we’ll try to stick to a few sources/review papers.

The following book serves as the primary reference:

This book surveys the field of topological data analysis as of a few years ago, but isn’t really written like a text book (i.e. with exercises). It will serve as a good reference for most topics we’ll cover. Parts of this book are more advanced than what we’ll cover in this course.

There are also two optional textbooks:

“Computational Topology” is a real text book, but is a little outdated (despite only being 12 years old). “Elementary Applied Topology” isn’t written as a text book, but has some nice visualizations and explanations. You can find it for free on the author’s website.

List of Topics

Core constructions and algorithms

  1. Topological spaces / simplicial complexes
  2. The mapper algorithm
  3. Homology
  4. Persistent homology
  5. Zigzag homology

Understanding and using topology

  1. Stability of persistent homology
  2. Topological features (persistence images/landscapes, algebraic functions)
  3. Optimization with persistent homology

Applications

  1. Reconstructing a space through samples
  2. Dynamical systems
  3. Drug and materials discovery

We will cover some additional topics as time permits.

Students with Disabilities

The University of Chicago is committed to ensuring equitable access to our academic programs and services. Students with disabilities who have been approved for the use of academic accommodations by​ ​Student Disability Services​ ​(SDS) and need a reasonable accommodation(s) to participate fully in this course should follow the procedures established by SDS for using accommodations. Timely notifications are required in order to ensure that your accommodations can be implemented. Please meet with me to discuss your access needs in this class after you have completed the SDS procedures for requesting accommodations.

Phone: (773) 702-6000
Email: ​disabilities@uchicago.edu