Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Applied AI for Materials


This repository is a collection of notebooks and other materials used for the "Applied Artificial Intelligence for Materials Science and Engineering" course at The University of Chicago. It is very much a work in progress, so expect large changes in content and organization in the next few months.

Using this Repository

Each subject area is organized into its own directory with notebooks, lecture notes and Python environment. They will generally be arranged as having multiple subfolders that focus on a specific subtopic.

Working from Binder

You can run all of the notebooks using Binder. Simply click this link to launch a copy of the repository on cloud resources. It will not save your changes, but you can use it for exploring the notebooks and - if you download notebooks to your computer - completing the practical assignments.

Local Installation

Either download the repository as a ZIP file or clone it using git.

If you install using git, you can update the course materials through calling git pull from within the directory. Otherwise, you will need to re-download the repository to receive updates.

Installing the environment is easiest if you are running Ubuntu Linux. First install the build toolsneeded to compile Fortran and C++ packages used by some packages, which are listed listed in apt.txt.

Then, use mamba to build the Python environment:

conda install -c conda-forge mamba
mamba env create --file environment.yml --force

See further instructions for a step-by-step for Ubuntu and other operating systems.

Course Layout

The course is broken out in to the following modules (some of which are TBD):

  • Effectively using Python for data science: Working quickly and reproducibly with Anaconda and Jupyter
    • Topics: Managing Python environments PyData Stack, Jupyter Notebooks
  • The Materials Data Ecosystem: Infrastructure for finding, using and sharing data
    • Topics: Databases, laboratory information systems, image publication
  • Molecular property prediction: How physics, chemistry and machine learning fit together
    • Topics: Kernel and graph methods, chemoinformatics
  • Supervised learning for inorganics: The importance of microstructure, composition and processing
    • Topics: Representations for inorganic materials, coping with processing variation
  • Generative methods for materials: Augmenting human creativity with AI
    • Topics: Generative Adversarial Networks, Reinforcement Learning, Autoencoders
  • Bayesian parameter estimation: Achieving greater certainty in using physics-based models
    • Topics: UQ for CALPHAD, model selection, learning from noisy data
  • Computer vision and characterization: Better microscopy through intelligent software
    • Topics: Image segmentation, classification and noise reduction
  • Optimal experimental design: Accelerate design optimization with software-assisted planning
    • Topics: Bayesian Optimization, active learning

Module Layout

Each course module contains its own instruction notebooks and assignments for evaluating comprehension.

The answer keys for the comprehension assignments are encrypted and can be decrypted with the provided script. Message me to get the passphrase or notebooks.

Some modules are broken into a few different subdirectories with their own notebooks and assignments.

Further resources available for this course are available elsewhere:

  • Syllabus: Most recent syllabus for the associated course.
  • Slides: My working copy of the slides, available in PDF and PPTX format from OneDrive.
  • Lecture Recordings: From Winter 21 are on YouTube


Course materials for "Applied AI for Materials Science and Engineering"






No releases published


No packages published