Credits and License#
You can refer to this book in its entirety as:
Lanzafame, R., Verhagen, S., Alvarenga, G., Farahat, A., Mendoza Lugo, M. (2025), Python for Engineers. https://oit.tudelft.nl/learn-python/2025, CC BY 4.0. doi:10.5281/zenodo.16753127.
If you would like to specify a specific version of the book, use the DOI link to find the version number at the time of access.
This book draws heavily on the content of “Think Python 2nd Edition” by Allen B. Downey, which is generously provided with a CC BY NC 3.0 Unported license, allowing us to create this Python resource that is customized for our own students.
The Errors chapter uses materialcreated by Kiril Vasilev that itself includes material from the University of Cape Town and the Carpentries (identified in Chapter Errors).
The Sympy chapter uses material from Jason Moore and the Sympy Development Team (identified in Chapter SymPy).
Acknowledgements#
Financial support for this project was provided through an open education grant from the Educational Management Team for the Civil Engineering and Geosciences Faculty at Delft. The content was first developed for Summer 2022 by Sandra Verhagen and a team of TA’s in Jupyter notebooks that were auto-graded in Vocareum (Guilherme Ferreira Sêco de Alvarenga, Arsenijs Nitijevskis and Jarno Vegting). For Summer 2023 a second round of funding was optained to update the content and adapt it to an entirely open and self-paced course without enrollement via a Jupyter Book, led by Robert Lanzafame. Special thanks goes to Miguel Mendoza Lugo who adapted the notebooks into the Jupyter Book format and implemented the interactive features, as well as Ahmed Farahat, who helped create the fun new visual features that make understanding the material easier in the Jupyter Book platform, as well as the In a Nutshell summaries. Guilherme Ferreira Sêco de Alvarenga made improvements to the content and set up the interactive Python feature via TeachBooks tools. In late 2024 and 2025, Shiya Tang improved the contents and converted exercises from JupyterQuiz to H5p. Tom van Woudenberg helped with a number of TeachBooks features, adding content such as Sympy and for being a fantastic teacher-collaborator for devising interesting ways for using online books in educational contexts.
How the book is made#
This book is created using open source tools: it is a Jupyter Book that uses a number of features from TeachBooks and is written using Markdown, Jupyter notebooks and Python files to generate some figures. The source files are stored on a public GitHub repository github.com/teachbooks/learn-python. Zenodo is used to archive all open versions of the book (beginning with the 2025-26 academic year), provide a DOI and serve as a “permanent” archive. View the repository README file or contact the editors for additional and up-to-date information.
Note that the year in the citation at the top of this page (e.g., 2025) represents the most recent major update to the book (not necessarily the academic year). Minor updates to this version can always be found by visiting the Release Notes of the GitHub repository or the Zenodo page doi.org/10.5281/zenodo.16753127 (changes are described in the Release Notes).
License#
This manual is CC BY 4.0 licensed allowing you to share and adapt the material, as long as the source is named.
Contact#
This Book is maintained and developed by staff of the Faculty of Civil Engineering and Geosciences of TU Delft, the Netherlands. If you have questions or suggestions, get in touch via a GitHub Issue or by email at MUDE-CEG@tudelft.nl. Contributions and feedback are very much welcomed via either of these channels!