Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Python Programming in the Geosciences

Dr. Alex Haberlie

Department of Earth, Atmosphere and Environment

Northern Illinois University

EAE 483 / 583: Data Science for the Geosciences (Spring 2026)

What is this course about?

This course is for advanced undergraduate students and graduate students who have computer programming experience and want to develop their data science skills on applied projects in the geosciences. It is intended to be the second course in a geoscience data analytics sequence that starts with “Computer Programming in the Geosciences (EAE 493)”. Students will research case studies involving data ethics, apply best practices in scientific software engineering, and develop workflows that solve geoscience problems using machine learning and statistics.

Course Content

Chapter 7 - Geospatial Analysis

Chapter 8 - Machine Learning - Tabular Data

  • 8.1 - Machine Learning Overview

  • 8.2 - Clustering

  • 8.3 - Decision Trees

  • 8.4 - Random Forest

  • 8.5 - Model Evaluation

  • 8.6 - Model Selection

  • L5 - Lab 5: scikit-learn preprocessing

  • L6 - Lab 6: scikit-learn clustering

  • L7 - Lab 7: scikit-learn classification

  • L8 - Lab 8: scikit-learn model selection and evaluation

  • A2 - Assignment 2 - Geoscience Data Clustering

  • A3 - Assignment 3 - Geoscience Data Classification

Chapter 9 - Machine Learning - Geospatial Data

  • 9.1 - Digital Image Processing

  • 9.2 - Image Segmentation

  • 9.3 - Image Filters

  • 9.4 - Image Feature Detection

  • 9.5 - Image Classification

  • 9.6 - Pixel Classification

  • L9 - Lab 9: scikit-image - basic operations

  • L10 - Lab 10: scikit-image - segmentation

  • L11 - Lab 11: scikit-image - filters

  • L12 - Lab 12: scikit-learn - image classification

  • L13 - Lab 13: pytorch - image classification

  • L14 - Lab 14: pytorch - pixel classification

  • A4 - Assignment 4 - Object Detection and Description

  • A5 - Assignment 5 - Object Classification


EAE 493 / 593: Computer Programming for the Geosciences (Fall 2025)

What is this course about?

Introductory programming techniques used to process and visualize geospatial data. Programming in Python, basic program logic and control structures, integration of Python with open-source scientific programming libraries, and 2-D and 3-D visualization of geospatial data.

Course Content

Chapter 1 - Development Environments

Chapter 2 - Syntax and Data Types

Chapter 3 - Flow Control

Chapter 4 - Classes

Chapter 5 - Plotting

Chapter 6 - Pandas