nl en

Sustainability Analysis in Python


Coordinator: Laura Scherer

Other involved teachers: José Mogollón, Bernhard Steubing

Entry requirements

This course is an elective module for the joint degree MSc Programme on Industrial Ecology, and also open to students from the MSc Governance of Sustainability. Students must demonstrate basic skills in Python programming, for example, through the successful completion of the course “Earth System Science and Analysis”. Where Python skills are limited to those gained in the course “Governance of Climat Change and Energy Transition", additional preparation may be necessary and material can be provided.


Industrial ecology relies on the analysis of potentially large datasets from various sources. This course will help students to choose, explore, process, and share datasets. These datasets are often integrated into models, which are a very simplified representation of our world to allow its operationalization for large scales, due to global supply chains, etc. Therefore, it is important to validate models to test their applicability in other contexts (e.g., time or location), and to assess model uncertainties (e.g., due to model choices or uncertainties in the input data).

All these types of analysis will be carried out in Python, a general-purpose and very popular programming language. A programming language like Python can more easily handle large datasets than many other software tools and spreadsheet programmes. It is also highly flexible and can be customized to integrate different industrial ecology methods which otherwise would have to be performed each using a different software tool. In addition, tasks can easily be repeated which saves time, and every step is well documented. This course builds upon and goes beyond the Python skills gained in Earth System Science and Analysis. It includes code optimization, the creation of simple GUIs, and best practices, such as version control, standardized code documentation, and code sharing.

The analytical, problem-solving, critical-thinking, and programming skills gained in this course are transferable skills, which are in high demand in the job market of industrial ecology and beyond

Learning goals

The main learning goal is to gain more practice with Python programming.
More specifically, after completing this course, students are able to…

  • process unclean data, describe datasets with metadata, and apply fair data principles

  • validate and assess uncertainties of models

  • test hypotheses and verify the underlying assumptions

  • develop clear and efficient code in Python, integrate user interaction, and keep track of versions

Education format

Lectures and workshops

Assessment forms

100% of the grade will come from one assignment, which involves writing code (70%), giving peer feedback (10%), presenting results (10%), and writing a short reflection (10%).
Another smaller assignment and a quiz will not be graded but need to be completed to obtain a grade for this course.


Course materials


This course uses Brightspace. Course documents, announcements etc. can be found via Brightspace. To get access to the Brightspace page of this course, you first need to register via uSis.


This course is open for students of the MSc Industrial Ecology (joint degree TU Delft and Leiden University) and the MSc Governance of Sustainability. Students can register for the course and exam via uSis.