Introduction to Computational Topology and Machine Learning
Open to all majors Β· No prior topology, Python, or machine learning required
MAP 5932.04 Β· Monday & Wednesday, 3:05 PM Β· LOV 107
Department of Mathematics, Florida State University Β· 3 credit hours Β· Instructor: Dr. Astrit Tola
Looking for the undergraduate section? β Undergraduate course page
Course Information
| Course | Introduction to Computational Topology and Machine Learning β Graduate section |
|---|---|
| Course number | MAP 5932.04 (graduate section) Β· Undergraduate section: MAP 4934.02 |
| Term | Spring 2027 Β· 3 credit hours |
| Instructor | Dr. Astrit Tola |
| Office / Email | LOV 424 Β· atola@fsu.edu |
| Office hours | TBA, and by appointment |
| Class meetings | Monday & Wednesday Β· 3:05 PM Β· LOV 107 (graduate and undergraduate sections meet together) |
| Prerequisites | MAC 2312 with a Bβ or better, or MAC 2313 with a Cβ or better. No prior topology, Python, or machine learning required. Graduate students enroll in the dual-listed graduate section, MAP 5932.04. |
| Course website | Canvas β lecture notes, readings, coding notebooks, practice problems, and announcements |
Course Flyer
Course Description
Data has shape. Clusters, loops, branches, and holes in a dataset often carry meaning that standard statistics can miss. This course shows students how to see and measure that shape using ideas from topology, and how to put those ideas to work in modern machine learning. Topology is presented visually and geometrically β through pictures, models, and computer experiments rather than abstract algebra β so no advanced mathematical background is needed.
The course moves in three parts:
- Seeing shape. What it means for two shapes to be "the same," how complicated shapes are built from simple pieces (simplicial and cellular complexes), and how to detect components, loops, and voids.
- Topological data analysis. Persistence, barcodes, and the Mapper algorithm, applied to point clouds, networks, and images.
- Machine learning with topology. Decision trees and their splitting rules, multilayer perceptrons, and convolutional neural networks β and how topological features can strengthen these models.
Python is taught from scratch through in-class labs, and the semester ends with a capstone project presented in class. All software is free and open source, and no textbook purchase is required.
Who Is This Course For?
Graduate students attend the same lectures and take the midterm exams at the same times as undergraduates, but they are held to a research-level standard. The graduate requirements are designed so that each graduate student finishes the course with a professional-quality manuscript suitable for submission to a workshop, conference, or journal.
The course is open to graduate students from all departments, with enrollment priority for students in Mathematics, Computer Science, and Scientific Computing.
Why This Course
Topological data analysis is one of the fastest-growing areas where mathematics meets artificial intelligence, with applications in medicine, biology, materials science, and computer vision β yet it is usually taught only at an advanced level. This course opens the field to a broad audience and directly supports the goals of the AI@FSU initiative: expanding AI literacy, integrating AI into teaching and learning, and preparing students to use emerging AI technologies effectively and responsibly. Students learn how decision trees and neural networks actually work rather than treating them as black boxes, build complete AI pipelines with open-source tools, and examine the interpretability and limitations of AI methods.
Learning Objectives
Upon successful completion of this course, students will be able to:
- Describe shapes using core topological ideas, including continuous deformation, topological equivalence, and invariants such as connected components, loops, and voids.
- Construct simplicial, cellular, and cubical complexes geometrically, use them to represent shapes, and compute the Euler characteristic by counting.
- Build complexes from data, such as Δech and VietorisβRips complexes, and read persistence barcodes and diagrams to distinguish meaningful structure from noise.
- Apply topological data analysis, including persistence and the Mapper algorithm, to point clouds, networks, and images.
- Write Python programs to load, visualize, and analyze data.
- Explain, implement, and evaluate core machine learning models, including decision trees and their splitting rules, random forests, multilayer perceptrons, and convolutional neural networks.
- Combine topological features with machine learning models, assess whether they improve performance or interpretability, and recognize the limitations and responsible use of AI methods.
- Communicate technical results through a collaborative project, an oral presentation, and a written report.
Additional objectives for graduate students:
- Read and critically assess primary research literature on topological data analysis and topological machine learning.
- Situate a research question within the existing literature, produce an original contribution, and document it in a professional-quality manuscript.
Weekly Schedule
Tentative; will be aligned with the official FSU academic calendar, including Spring Break. Exam dates will avoid major religious holy days.
| Week | Topics | Milestones |
|---|---|---|
| Part I Β· Seeing Shape: Geometric Topology | ||
| Week 1 | Welcome to the Shape of DataWhat is topology? Shape, closeness, and continuous deformation; why the shape of data matters in science and AI. π Python lab: Getting started in Google Colab | |
| Week 2 | When Are Two Shapes the Same?Topological equivalence; invariants such as the number of pieces and holes; the sphere, torus, MΓΆbius band, and Klein bottle. π Python lab: Variables, lists, loops, and functions | |
| Week 3 | Simplicial ComplexesBuilding shapes from vertices, edges, triangles, and tetrahedra; triangulating surfaces; the Euler characteristic by counting. π Python lab: NumPy and plotting | |
| Week 4 | Cellular Complexes and Counting HolesCellular and cubical complexes; covers and nerves; components, loops, and voids (Betti numbers without algebra). π Python lab: Drawing and exploring complexes | |
| Week 5 | From Data to ShapesPoint clouds and distance; growing balls around data points; Δech and VietorisβRips complexes; the role of scale. π Python lab: Building complexes from data | |
| Week 6 | Review and Midterm Exam 1Review session and in-class exam covering Weeks 1β5. | Midterm Exam 1 |
| Part II Β· Topological Data Analysis | ||
| Week 7 | Persistence: Shape Across ScalesFiltrations; components merging and loops appearing and disappearing as scale grows; barcodes and persistence diagrams; signal vs. noise. π Python lab: Ripser and persim | |
| Week 8 | TDA on Graphs and NetworksGraphs as shapes; clique complexes; filtrations on weighted networks; examples from social and biological networks. π Python lab: NetworkX | Project teams formed |
| Week 9 | TDA in Image AnalysisPixels as cubical complexes; thresholding grayscale images; topological signatures of images in medicine and materials science. π Python lab: Working with image data | |
| Week 10 | Mapper and Topological FeaturesThe Mapper algorithm for high-dimensional data; turning barcodes into learnable features (summary statistics, Betti curves, persistence images). π Python lab: KeplerMapper and giotto-tda | Project proposal due |
| Week 11 | Review and Midterm Exam 2Review session and in-class exam covering Weeks 7β10. | Midterm Exam 2 |
| Part III Β· Machine Learning with Topology | ||
| Week 12 | ML Foundations and Decision TreesSupervised learning; training and test data; overfitting; accuracy and AUC; splitting rules (Gini impurity, entropy, information gain), pruning, and random forests. π Python lab: scikit-learn | |
| Week 13 | Neural Networks: The Multilayer PerceptronNeurons and perceptrons; layers and activations; loss functions and gradient descent; overfitting and regularization. π Python lab: Training an MLP in PyTorch | Project progress check-ins |
| Week 14 | CNNs and Topology in MLConvolutions, filters, and pooling; image classification with CNNs; adding topological features to trees, MLPs, and CNNs; interpretable and responsible AI. π Python lab: A CNN with topological features | |
| Week 15 | Capstone PresentationsPresentations with audience questions and discussion. | Presentations |
| Finals | Final Exam PeriodRemaining presentations, if needed. There is no final exam. | Final report due |
Assessment
| Component | Timing | Weight |
|---|---|---|
| Midterm Exam 1 (with additional graduate problems) | Week 6 | 20% |
| Midterm Exam 2 (with additional graduate problems) | Week 11 | 20% |
| Research Project: Proposal with Annotated Bibliography | Week 10 | 5% |
| Research Project: Progress Check-in with Partial Manuscript | Week 13 | 5% |
| Research Project: Conference-Style Presentation | Week 15 / Final Exam Period | 15% |
| Research Project: Final Manuscript and Code | Final Exam Period | 35% |
| Total | 100% |
Grading scale: A 93β100 Β· Aβ 90β92.99 Β· B+ 87β89.99 Β· B 83β86.99 Β· Bβ 80β82.99 Β· C+ 77β79.99 Β· C 73β76.99 Β· Cβ 70β72.99 Β· D+ 67β69.99 Β· D 63β66.99 Β· Dβ 60β62.99 Β· F Below 60. Cutoffs may be lowered at the instructor's discretion but will not be raised.
Midterm Exams (40%)
Midterm Exam 1 (Week 6) covers topological ideas, simplicial and cellular complexes, and building complexes from data. Midterm Exam 2 (Week 11) covers persistence and TDA for point clouds, networks, and images, including Mapper and topological features. Exams emphasize geometric reasoning β sketching complexes, counting simplices to find Euler characteristics, identifying components and loops, reading barcodes and persistence diagrams, and interpreting short Python outputs. One handwritten, letter-size reference sheet (both sides) is allowed; electronic devices and AI tools are not.
The course has no graded homework. Ungraded practice problems with solutions and worked coding notebooks are posted on Canvas throughout the semester. The machine learning portion (Weeks 12β14) is assessed through the project.
Graduate exams include additional problems requiring deeper mathematical reasoning and short proofs.
How the Graduate Section Differs
| Component | Undergraduate Section | Graduate Section |
|---|---|---|
| Midterm exams | Two exams, 25% each | The same two exams, 20% each, with additional problems requiring deeper mathematical reasoning and short proofs |
| Project format | Teams of 3β4 students | Individual, or teams of at most 2 graduate students |
| Project scope | Apply and carefully evaluate existing TDA and ML methods on a real dataset | An original contribution β a new method, a new application, or a rigorous comparative study β positioned within the research literature |
| Proposal | 1β2 page project plan | 2β3 page proposal with an annotated bibliography (β₯ 8 sources) and an identified target publication venue |
| Progress check-in | Meeting and progress memo | Meeting and partial manuscript draft (introduction, related work, methods) with written instructor feedback |
| Presentation | 12β15 minute team presentation | 20-minute conference-style research talk |
| Final deliverable | 6β10 page report and reproducible code | 12β20 page manuscript in the format of a target journal or conference (LaTeX recommended), β₯ 15 scholarly references, plus a publication-quality code repository |
| Project weight | 50% of course grade | 60% of course grade |
Research Project (60%)
Working individually or in pairs, graduate students make an original contribution that combines topological data analysis with machine learning, documented as a manuscript ready for submission. The project is completed in stages with feedback throughout the semester:
- Proposal with annotated bibliography (5%) β a 2β3 page proposal citing at least 8 sources and naming a target publication venue.
- Progress check-in (5%) β a meeting plus a partial manuscript draft (introduction, related work, and methods), with written instructor feedback.
- Research presentation (15%) β a 20-minute conference-style talk.
- Final manuscript and code (35%) β a 12β20 page manuscript in a target venue's format with at least 15 scholarly references, plus a documented, publication-quality code repository.
Manuscript evaluation is modeled on peer review: significance and originality; mathematical and technical correctness; experimental design, including appropriate baselines and statistical evaluation; clarity of writing; and reproducibility.
Additional Graduate Readings
Graduate students read primary research literature, including:
- H. Adams et al., "Persistence images: a stable vector representation of persistent homology," Journal of Machine Learning Research, 2017.
- C. Hofer, R. Kwitt, M. Niethammer & A. Uhl, "Deep learning with topological signatures," Advances in Neural Information Processing Systems, 2017.
- F. Hensel, M. Moor & B. Rieck, "A survey of topological machine learning methods," Frontiers in Artificial Intelligence, 2021.
Course Materials
π Primary References
- G. Carlsson & M. Vejdemo-Johansson, Topological Data Analysis with Applications, Cambridge, 2021.
- T. K. Dey & Y. Wang, Computational Topology for Data Analysis, Cambridge, 2022.
- A. Hatcher, Algebraic Topology, Cambridge, 2002.
- J. R. Munkres, Topology, 2nd ed., Prentice Hall, 2000.
- J. R. Munkres, Elements of Algebraic Topology, Addison-Wesley, 1984.
π€ Machine Learning & Python
- G. James, D. Witten, T. Hastie, R. Tibshirani & J. Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023.
- A. Zhang, Z. C. Lipton, M. Li & A. J. Smola, Dive into Deep Learning, Cambridge, 2023.
- J. VanderPlas, Python Data Science Handbook, O'Reilly, 2016.
π Supplementary Readings
- R. Ghrist, Elementary Applied Topology, 2014.
- R. Ghrist, "Barcodes: the persistent topology of data," Bull. AMS 45 (2008).
- G. Carlsson, "Topology and data," Bull. AMS 46 (2009).
- F. Chazal & B. Michel, "An introduction to topological data analysis," Frontiers in AI 4 (2021).
π» Software (free & open source)
Python 3 in Google Colab β no installation required. NumPy, Matplotlib, scikit-learn, PyTorch, and NetworkX, plus the TDA libraries Ripser and persim (scikit-tda), GUDHI, giotto-tda, and KeplerMapper. Students may use their own laptops or FSU computer labs.
Lecture notes, practice problems, and coding notebooks posted on Canvas cover all required material; readings are assigned from selected sections of the references above.
Use of Generative AI
Consistent with the AI@FSU emphasis on effective and responsible AI use, generative AI tools (chatbots, AI coding assistants) may be used on the project for brainstorming, debugging code, and improving the clarity of writing. Students who use them must include a brief AI-use statement in the proposal and final report, must verify the correctness of all AI-assisted code, mathematics, and text, and must never submit fabricated data, results, or citations. AI tools are not permitted during exams.
Full course and university policies (attendance, make-up exams, late work, academic honor, accessibility) are in the official syllabus on Canvas.
Questions?
Interested in the course or wondering whether it's a good fit? Email atola@fsu.edu.
