Course - Python for Structural Engineering - KT6198
Python for Structural Engineering
New from the academic year 2025/2026
About
About the course
Course content
The course provides an introduction to Python programming with a focus on applications in structural engineering. Participants will learn the basics of installation and setup of Python (Anaconda, VS Code, Jupyter Notebook), as well as fundamental programming concepts such as data types, loops, control structures, and classes. The course further covers data handling and analysis, including file I/O, data structures, visualization with Matplotlib, and the use of Pandas and NumPy/SciPy for analysis.
Building on these foundations, the course introduces structural engineering-specific applications, such as reliability analysis, parametric design, optimization and curve fitting, and selected topics in machine learning and dynamic analysis.
The course will also introduce participants to Python coding for parametric modelling. Using Rhino and Grasshopper, students will learn how to operate with 3D geometry, create and modify models, and work with point clouds and meshes in a structural engineering context.
Finally, the course addresses best practices in code preservation and sharing, including packaging, test suites, version control (Git), and publishing Python packages.
Learning outcome
After completing the course, the student should be able to:
Knowledge
- Explain fundamental concepts of Python programming and relevant libraries for data handling, analysis, and visualization.
- Understand how Python can be applied to structural engineering problems, including reliability analysis, parametric design, optimization, and machine learning.
- Describe methods for parametric modeling with Rhino and Grasshopper, including handling 3D geometry, point clouds, and meshes.
Skills
- Install and set up Python environments (Anaconda, VS Code, Jupyter Notebook).
- Write Python code employing loops, control structures, classes, modules, and packages.
- Perform data processing and analysis using Pandas and NumPy/SciPy; create visualizations with Matplotlib.
- Develop and apply parametric models to structural engineering tasks.
- Use Python scripting in Rhino / Grasshopper to manipulate 3D geometry, modify meshes, and work with point cloud data.
- Use version control (Git), write basic test suites, and structure code for reuse and collaboration.
General Competence
- Critically reflect on how programming and parametric modeling can enhance engineering design and practice.
- Collaborate effectively in code sharing and development in professional environments.
- Structure, document, and preserve code in a way that ensures quality, reproducibility and maintainability.
Learning methods and activities
The course is organized as an intensive module over two weekends (Friday-Sunday). Teaching combines short lectures, supervised exercises, and practical programming assignments in Python.
Participants will work individually and in small groups on tasks that directly build on the lecture material. Emphasis is placed on practical problem-solving, where participants apply Python to relevant cases in structural engineering, both through pure Python scripting in VS Code/Jupyter Notebook and through parametric modelling in Rhino/Grasshopper.
Seminars are used for discussion and exchange of experiences, and participants receive close individual supervision due to the limited number of seats (maximum 10 participants).
Work is carried out both in standalone Python environments (VS Code, Jupyter Notebook) and in Rhino/Grasshopper, with a focus on active learning through coding, modelling, and analysis.
Further on evaluation
The course assessment consists of an individual assignment in the form of a short report. The report is based on the exercises completed during the course and must be submitted after the teaching period.
The report will demonstrate the participant’s ability to apply Python programming to data handling, analysis, and problem-solving within structural engineering.
The assessment is graded on a pass/fail basis.
Recommended previous knowledge
Participants are expected to have a background in structural engineering at bachelor level or higher. No prior programming experience is required, but familiarity with basic concepts in mathematics and statistics will be beneficial.
Required previous knowledge
There are no formal prerequisites for the course.
Course materials
Lecture notes will be provided during the course.
Subject areas
- Structural Engineering