![](https://github.com/fangohr/introduction-to-python-for-computational-science-and-engineering/raw/master/static/images/titlepage.png?raw=true)
An Introduction to Python for Computational Science and Engineering, developed by Hans Fangohr (2003-2020).
The content and methods taught are intended for a target audience of scientists and engineers who need to use computational methods and data processing in their work, but typically have no prior programming experience or formal computer science training.
The book is available
- pdf (version)
- interactively as Jupyter Notebooks on MyBinder; probably the most attractive version of the book as any code examples can be executed and modified immediately to explore the language and improve one's understanding. (Use JupyterLab instead of the traditional Notebook.)
- html (online or in this zip file in the docs folder) (version)
- downloadable Jupyter Notebook files (
*.ipynb
) (in this zip file) - most recent sources and materials on Github (this page)
The book is based on Python 3.
(A Python 2.7 version is available online)
Readers looking for a beginner's guide to Python are faced with a baffling array of choices. However, Introduction to Python for Computational Science and Engineering, by Hans Fangohr is uniquely valuable because it is specifically aimed at those of us who are engaged in applied science or scientific research. The book is concise, well organized and full of practical examples that the reader can implement as they are going along. The key concepts of programming are introduced in the first half of the book, while the second half focuses on science/engineering applications: numerical methods, optimization, scientific plotting, and data science. This book is a must-have companion for anyone learning to use Python to enable their work in applied science or scientific research." - Simon Box, Head of Virtual Development at Aurora Innovation.
The book is available in Portuguese (pdf).
Thanks go to Thomas Kluyver, Neil O'Brien, Jacek Generowicz, and Mark Molinari for various contributions (see last chapter for details). Special thanks to all readers, users and students who have provided feedback and corrections.
We acknowledge support from EPSRC (GR/T09156/01 and EP/G03690X/1) and from the OpenDreamKit Horizon 2020 European Research Infrastructures project (#676541).
If you have used these materials and have some feedback (positive or negative), please get in touch (hans.fangohr@xfel.eu or fangohr@soton.ac.uk).
If you are using the book (be it as a teacher in your lecture course, as a student to support your learning, or in any other role), please send a short message to hans.fangohr@xfel.eu . Ideally, this would contain at which university/institution/company you are and how you use the book (in one sentence). This kind of data is useful to support further maintenance and extensions of the materials.
Please use this citation:
- Hans Fangohr, Python for Computational Science and Engineering, 2018, DOI: 10.5281/zenodo.1411868, github.com/fangohr/introduction-to-python-for-computational-science-and-engineering
For BibTeX:
@misc{fangohr-python-book,
doi = {10.5281/ZENODO.1411868},
url = {https://github.com/fangohr/introduction-to-python-for-computational-science-and-engineering},
author = {Fangohr, Hans},
keywords = {Python, Education, Textbook, Computational Science, Data Science, Jupyter},
language = {en},
title = {Introduction To {Python} For Computational Science And Engineering},
publisher = {Zenodo},
year = {2019}
}
This work is
licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
The book can be downloaded, used and re-distributed for non-commercial purposes, i.e in particular for education purposes at universities, research institutes and schools. Please send a message to the author if you do so.
Hans Fangohr is a researcher and teacher (see homepage, blog, twitter). His interests include effective software engineering for computational science and data science, researching computational modelling and data analysis methods, and education. He is a Professor at the University of Southampton (UK) and Head of Data Analysis at the European X-ray Free Electron Laser (EuXFEL) facility (Germany).
Historical note: CI was done on Circle CI until 23 August 2018, then switched to Travis CI.