Scientific Programming with Python
Course material for given at University of Applied Science Bonn-Rhein-Sieg.
This course’s goal is to introduce students to the Python3 programming language with a scientific mindset. Basic programming concepts (e.g. list, dictionaries, conditions, functions) will be covered, with specialized libraries focused upon that are used within the scientific community (e.g. matplotlib, numpy, scipy). Students will also be introduced to Jupyter notebooks, Integrated Development Environments (IDE), and writing unit tests. The basic ideas behind good scholarship (i.e. wissenschaftliche arbeit) will also be discussed.
Python is increasingly one of the most important programming languages that is used (TIOBE ranked #3, IEEE’s Spectrum ranked #1). Due to its ease of use, extensive libraries and readability, researchers from diverse fields have made it their “go-to” programing language. For example, researchers use Python to create customized workflow for simulations; to analyze experiment- and simulation-generated data; and to create professional data plots. The course presents the foundation of Python, with a focus on its scientific application. It will cover the following concepts:
- Programming basic concepts
- Jupyter notebooks, Google Colaboratory
- Python IDE (e.g. PyCharm, Sublime)
- Creating custom functions and personal libraries
- Calling and using external libraries
- Popular scientific community-based libraries (e.g. Statistics, Pandas, Matplotlib, Numpy)
- Writing command-line programs with input flags
- Using unit tests to improve code development
Scholarship topics will include:
- Workflows, backups, version control
- Reproducibility
- International Units
- Use of constants
- Regression, extrapolation, parameter optimization
- Keeping It Simple and Smart (K.I.S.S.)
- Citations and giving credit
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.