May 25, 2022

9:00 am / 3:00 pm

MSEE: Short Course on Uncertainty Quantification in Physics-based Modeling using Python

Dimitris Tsapetis, Assistant Research Professor, Johns Hopkins University

Dimitris Giovanis, Assistant Research Professor, Johns Hopkins University

Michael D. Shields, Associate Professor, Johns Hopkins University

Please register here by May 23, 2022.

The course will be held on May 25-27, 2022. Each day will be broken into three sessions that will run from 9AM-12PM and 1-3PM EDT. During the morning session, instruction will be provided for setting up the day’s activities. In the afternoon, participants will work independently on UQ activities, and the instructors will be available to assist.

This in-person three-day short course will introduce participants to the practice of uncertainty quantification (UQ) in computational modeling of physical systems using the Python programming language. Participants will be introduced to a variety of UQ tasks including uncertainty propagation, surrogate modeling, and Bayesian inference using the UQpy toolbox. By the end of the course, it is the goal that students will have the knowledge to begin applying UQ to computational models in their respective fields of study.

In particular, attendees will learn how to:

  • Link a model to the UQpy software to execute UQ tasks.
  • Propagate uncertainties through a computational model using simulation-based methods in UQpy
  • Construct a surrogate model using polynomial chaos expansions and Gaussian process regression
  • Infer the parameters of a model using Bayesian inference

Pre-Workshop Activities

  • Participants will be provided with links to video lectures on UQ topics, which they should watch prior to attending the workshop.
  • Participants are expected to be proficient in the Python programming language with knowledge that includes Python syntax, data types and structures (e.g. lists and dictionaries), importing and using widely available libraries (e.g. numpy and scipy), and object-oriented programming in Python. Participants who are not already proficient may attend the short course after completing one (or more) of the online courses listed below.
  • Participants must bring their own laptop computer with all necessary software installed, including Python 3. Although we will review installation of UQpy and setting the user environment, we will not review Python installation.
  • Participants are encouraged to bring an example code that they can use for UQ in their own field of study.


Python Courses:
Below is a list of available online Python courses that may be helpful. The short course will require proficiency at least at the level of the first (Introductory) course, with the more advanced courses recommended for greater depth.

Coursera – Crash Course on Python, Offered by Google
Please complete all modules

More Advanced
Coursera – Python 3 Programming Specialization, Offered by the University of Michigan
This specialization is composed of 5 courses. Courses 1-4 are particularly relevant.

Most Comprehensive
EdX – Introduction to Python Programming Language, Offered by Georgia Tech


Dr. Tsapetis is an Postdoctoral Fellow in the Dept. of Civil and System Engineering at Johns Hopkins University. His research interests lie in the area of high-performance computing and computational mechanics under the prism of uncertainty quantification with the aim of producing robust engineering solutions.

Dr. Giovanis is a Research Assistant Professor in the Dept. of Civil and Systems Engineering at Johns Hopkins. His research interests lie in the area of data-driven uncertainty quantification (UQ) approaches and reliability analysis using machine learning.

Dr. Shields is an Associate Professor in the Dept. of Civil and Systems Engineering at Johns Hopkins. Dr. Shields’s research focuses on uncertainty quantification for wide-ranging problems in computational mechanics and materials science.