Skip to content


A Crash Course in Python

Sunday, February 9

Speaker: David Alderson, Naval Postgraduate School

The Python Programming Language (see has quickly become one of the most popular platforms for scientific computing and data science. This tutorial is aimed at scientists, engineers, and analysts already familiar with computation and programming, but unfamiliar with Python. We will cover the basics of Python syntax and concepts. Source code materials, in the form of Jupyter notebooks, will be available to those who want to follow along interactively.

Introduction to Pyomo

Sunday, February 9

Speaker: Jean-Paul Watson, Lawrence Livermore National Laboratories; David Alderson, Naval Postgraduate School

Pyomo is a Python-based, open-source optimization modeling language with a diverse set of optimization capabilities (see In this tutorial, we will describe the motivation, design principles, and syntax of Pyomo, with an eye toward analysts, researchers, and students who want to develop a basic understanding of how to use this freely available and powerful platform for mathematical programming and optimization.  

Installation Instructions

 (for those who want to follow along)


For those who are new to Python, we recommend using the Anaconda distribution of Python (download instructions online), which bundles the most popular standard scientific computing libraries for Python, includes a nice tool for package management, and has all of the user tools most folks will probably need. Of note, the Anaconda distribution also includes R, RStudio, and other software popularly used in data science.


Pyomo is not part of any standard Python distribution, so it requires separate installation. Following the Anaconda installation of Python you need to do the following:

  1. Install the Pyomo module for Python.
  2. Install a solver.