nl en

Sustainability Analysis in Python


Admission 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 Climate 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.

Course objectives

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


You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

Lectures and workshops

Assessment method

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 will not be graded but needs to be completed to obtain a grade for this course.

Reading list

Course materials


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Coordinator: Laura Scherer
Other involved teachers: Bernhard Steubing


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.