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:

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