Motivation
Many Python user such as scientists and engineers who program and create
software aren’t formally educated in software engineering.
Therefore, the resulting software is often not up to established standards.
This can especially effect reproducibility.
This is a rather common scenario:
The program work yesterday but today the results look different.
It is not clear what caused the change.
In addition, it is difficult to find the last working version.
Knowledge and application of basic software engineering techniques can help to
make software better reproducible.
Content
The course offers a practical overview of basic software engineering
techniques.
These are the topics:
Creating environments and installing packages with conda
and friends
Basics of version control with git
Testing basics with pytest
Documentation with sphinx
Creating and deploying Python packages
Example project