Optional home-/group work
This is completely optional
You can participate in the lesson without working on any of the tasks below.
We share these for individuals and groups who would like to work on some of these in preparation of the lesson or independently of a CodeRefinery workshop with their study group.
We might comment on the contributed solutions during the lesson but we will definitely do so in a constructive and positive way.
You can practice on our exercise repository which contains:
Data set
Python notebook which works but is not super general
How to contribute improvements:
Open issue at the exercise repository and in your pull request refer to that issue.
Exercise ideas (sorted from basic to advanced):
Improve the README
Add example usage to the README
Add a result image to the README
Make it installable and document installation (requirements.txt or environment.yml, pip/conda/…)
Add a command line interface
Improve error messages (e.g. input file does not exist or does not contain data we want to plot)
Draw a call tree for one of your recent projects. Identify the functions in your call tree which are “pure” (which have no side-effects).
Add more automated tests
Try some of the strategies in this lesson on your own data
Contribute a notebook/script with weather data from your place in your favorite programming language
If you use AI, any tricks you can share to get modular code from it?
Make the notebook (more) reproducible
Add support for Snakemake or any other workflow management tool