Python for Engineers#

Welcome to Python for Engineers. We’re excited to have you join us in this self-paced online course, which is designed to improve your Python skills as well as your understanding of computer programming—especially for applications in engineering and the applied geosciences. Believe it or not, as long as you are using a modern internet browser, you can take complete this course without installing a single piece of extra software!

You will find this course especially helpful if you have learned programming in another language before or if you would just like to do a refresher course. If you have never taken a programming course and are completely new to programming, it may still be useful, but will also require some extra work. If you find the course difficult, we recommend you consider one of the many free online introduction to computer programming courses that uses the Python language (try searching on EdX or Udacity, for example). The course material Exploratory Computing with Python is an excellent resource that provides a gentler introduction than this one, but, unlike EdX or Udacity, it is entirely self-study. Finally, as an additional study material for learning Python basics, we advise the open source book ”Think Python 2nd Edition” by Allen B. Downey. It describes in more detail what is covered in this course.

In fact, 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.

Course overview#

This online course is divided into a number of Chapters, each of which contains at least two sections: Theory and Exercises. In some cases there is more than one Exercise section (and more will likely be added over time). Depending on your prior programming skills, each Chapter is expected to take you 2–5 hours on average. Don’t worry if some concepts are not completely clear to you; the main goal is that you begin familiar with the material through repetition, since you can always go back once you need it for your follow-up programming tasks. Note that the chapters have been separated into two parts: those that conver concepts using only the standard Python library and those that focus on other libraries (but still using the Python programming language, of course).

How to take the course#

It’s really quite simple: read through the 3 Chapters in the Introduction part, then get started with the Theory and Exercises! In particular, the Python Toolbox Chapter describes how you can run Python code to solve the exercises. The last part of this course is called In a Nutshell; these are very concise recaps of the content from the main chapters in Course Contents. The idea is that you use these as a quick reference and review of the concepts, before and after the course.

Feedback and Corrections#

We are always interested in improving this online book and appreciate help to identify mistakes, as well as general suggestions. The best way to do this is by using the buttons at the top right of each page which link directly to the GitHub repository where this website is hosted. In particular:

  • the “Suggest Edit” option allows you to make a correction or suggestion directly (as a Git “commit”)

  • the “Issue” option allows you to report a general problem or suggest a new feature

Note that you will need a GitHub account to do this. Once your edit or Issue is submitted, we will incorporate any changes into the book using a Pull Request, and you will be notified via GitHub when this is done.

If this doesn’t work for you, feel free to simply send an email to MUDE-CEG@tudelft.nl.

There is also a Survey at the bottom end of the course, and we would greatly appreciate it if you could give us feedback by filling it out.

Previous Editions of this Book#

Beginning in August, 2025, this book was moved from host URL teachbooks.io to oit.tudelft.nl; visiting oit.tudelft.nl/learn-python will automatically resolve to the newest version of the book (replace 2025 with 2024 in the URL to visit the “old” structure).

In 2025 a major update to the book structure was implemented (although the contents remained the same). For readers, minor improvements to the book from 2025 onward will be noted on relevant pages. For those who desire a more thorough overview of updates, visit the Release Notes of the GitHub repository.