Michael Mommert

  • de
  • Biography
  • Publications
  • Research
  • Teaching
Teaching

Jupyter Notebooks

Instead of only teaching theoretical basics, I prefer to also cover practical aspects. For this purpose, I use Jupyter Notebooks, which have proven to be very useful for teaching activities, especially when used on cloud-based computing environments such as Binder or Google Colab.

In the following, you find a list of currently available Jupyter Notebooks that are available on my github teaching repository. All of these Notebooks are freely available under the MIT Licence, so everyone is invited to use them in their own teaching activities.

The Notebooks are loosely ordered by the following topics.

Python

Introductory Notebooks for learning the Python programming language.

  • Basics: A general introduction into the basics of the the Python programming language. Interactivity: low. Prequisites: None
    Binder Open In Colab

  • Numpy and Matplotlib: A more detailed introduction into the Numpy and Matplotlib modules. Interactivity: low. Prequisites: basic Python
    Binder Open In Colab

  • Pandas: An introduction into Pandas module for data processing and analysis. Interactivity: low. Prequisites: basic Python
    Binder Open In Colab

Data Processing

Noteboks related to the processing of different data modalities.

  • Feature Extraction: An interactive Notebook introducing different feature extraction techniques for different data modalities. Interactivity: high, Prerequisites: some experience with Python
    Binder Open In Colab

Clustering

Notebooks related to different clustering applications.

  • Clustering and PCA with sklearn: A brief introduction into unsupervised learning methods such as clustering and Principal Component Analysis. Interactivity: medium. Prerequisites: Numpy experience.
    Binder Open In Colab

  • Clustering and Segmentation for Sentinel-2 Satellite Imagery: This example contains segmentation examples based on k-Means clustering and SLIC for a small Sentinel-2 multispectral dataset. Interactivity: medium. Prerequisites: some experience with Python.
    Binder Open In Colab

Machine Learning Concepts

Introductions to different supervised learning concepts.

  • Preparing Data for Supervised Learning: This Notebook serves as an interactive worksheet for preparing a dataset for use in a machine learning model. It will guide you through the steps required to use a dataset in a supervised learning setup. Interactivity: high. Prerequisites: Numpy experience.
    Binder Open In Colab

  • Full Supervised Learning Pipeline: This Notebook combines all the pieces together to perform a classification task with scikit-learn. Interactivity: low. Prerequisites: some experience with Python.
    Binder Open In Colab

  • Data Labeling: This tutorial introduces the data labeling process for multiband imaging data. The data are used for a pixel-wise classification of Sentinel-2 data. Interactivity: medium. Prerequisites: some experience with Python and familiarity with the “Pixel-wise classification with Machine Learning”-Notebook.
    Binder Open In Colab

  • Data Augmentations: Building on the “Semantic Segmentation of Sentinel-2 Images with a UNet”-Notebook, this Notebook introduces data augmentations and experiments with a few simple transformations. Interactivity: medium. Prerequisites: experience with Python and semantic segmentation using a UNet; running this Notebook requires access to a GPU!
    Binder Open In Colab

  • Transfer Learning: Building on the “Image Classification with Convolutional Neural Networks”-Notebook, this Notebook introduces the concept of transfer learning. Interactivity: low. Prerequisites: experience with Python and semantic segmentation using a UNet; running this Notebook requires access to a GPU!
    Binder Open In Colab

Regression

Notebooks related to regression tasks.

  • Regression on the California Housing Dataset: This is an introductory notebook, featuring different traditional machine learning methods applied to a tabular dataset. Interactivity: medium. Prerequisites: some experience with Python.
    Binder Open In Colab

Pixel-wise Classification

Notebooks related to pixel-wise classification tasks.

  • Pixel-wise Classification with Machine Learning: This example showcases the use of traditional machine learning methods for pixel-wise land-use/land-cover classification. Simple data annotation by hand, as well as Maximum likelihood estimation and k-nearest neighbors methods are introduced for this purpose. Interactivity: medium. Prerequisites: some experience with Python.
    Binder Open In Colab

  • Pixel-wise Classification with a Multilayer Perceptron: This tutorial introduces the use of Multilayer Perceptrons for pixel-wise classification for land-use/land-cover classification. Interactivity: low. Prerequisites: some experience with Python; running this Notebook requires access to a GPU!
    Binder Open In Colab

Image-wise Classification

Notebooks related to image classification tasks.

  • Image Classification with a Multilayer Perceptron: In this Notebook we build a Multilayer Perceptron from scratch using Pytorch and train it on a simple image classification task based on the FashionMNIST dataset. Interactivity: low. Prerequisites: some experience with Python; running this Notebook requires access to a GPU!
    Binder Open In Colab

  • Image Classification with a Convolutional Neural Network: This example introduces the use of Convolutional Neural Networks for the task of image classification. Interactivity: low. Prerequisites: some experience with Python, familiarity with the “Pixel-wise classification using machine learning”-Notebook would be useful; running this Notebook requires access to a GPU!
    Binder Open In Colab

Semantic Segmentation

Notebooks related to semantic segmentation tasks.

  • Semantic Segmentation of Sentinel-2 Images with a UNet: This Notebook introduces the workflow for supervised learning with a UNet architecture available in Pytorch. We will us dense labels available in the ben-ge-800 dataset for this task. Interactivity: low. Prerequisites: some experience with Python and familiarity with the “Pixel-wise Classification with a Multilayer Perceptron for Sentinel-2 Satellite Imagery”-Notebook; running this Notebook requires access to a GPU!
    Binder Open In Colab

Object Detection

Notebooks related to object detection tasks.

  • Object Detection with YOLO for Aerial Imagery: This Notebook introduces object detection using YOLO for aerial imagery. We will detect cars from aerial imagery of the city of Stuttgart. Interactivity: low. Prerequisites: some experience with Python; running this Notebook requires access to a GPU!
    Binder Open In Colab

Remote Sensing

Notebooks related to general remote sensing tasks.

  • Thermal Imaging with flyr: Flyr is a library for extracting thermal data from FLIR images written fully in Python. We use this library to read in, modify and analyse thermograms. Interactivity: medium. Prerequisites: some experience with Python.
    Binder Open In Colab

For an up-to-date list of all available Notebooks, please refer to my github teaching repository.

© Michael Mommert 2025 michael.mommert@hft-stuttgart.de Stuttgart University of Applied Sciences, Schellingstr. 24, 70174 Stuttgart, Germany