In this course, you will become familiar with tools and best practices for version control and reproducibility in modern research software development. The main focus is on using Git for efficiently writing and maintaining research software.
We will not teach programming, but we teach the tools you need to use programming well. We assume that you are familiar with the programming language that you use in your work and research. We try to keep the course as language-independent as possible but we will show some basic code examples in Python.
This is an informal and interactive event with type-along type of presentations, live coding, and demos. Short tutorials alternate with practical exercises.
You need to install some software before CodeRefinery (why we ask you to do this). Please do this - and check it - in advance, otherwise you’ll start off behind.
Note that, e.g., a working Python executable on your laptop is not sufficient - a version greater than 3.4 is strongly recommended and a number of extra packages need to be installed as detailed on the Python installation page. You also need to check your git configuration (video: how to configure Git). If you have an institutional laptop with limited rights, start in advance and/or ask for help to translate these instructions to work on your system.
You should either a) drop by one of our verification sessions in advance, or b) verify with your team’s helper before the workshop.
All times are in Europe/Stockholm time Time converter
The schedule includes frequent breaks.
Installation help and verification times
Day 1 (Nov 17, Tue)
Day 2 (Nov 18, Wed)
Day 3 (Nov 19, Thu)
Day 4 (Nov 24, Tue)
Day 5 (Nov 25, Wed)
Day 6 (Nov 26, Thu)
The workshop will be held online by Zoom. Helpers and accepted learnes will receive a link.
Free of charge, funded by the Nordic e-Infrastructure Collaboration.
Are you doing any of these things below:
If yes, then this course is for you. This is not designed for “professional code developers” or computer scientists.
If you develop research code and you know all the tools already, join us as a helper! It’s fun, and you always learn something new about a subject by teaching it.
We are normally limited by number of helpers, thus why not allow groups to bring their own helper?:
If you’ve been to a CodeRefinery before and have used git some after that, you are definitely capable of being a helper. If you routinely use git and know Python somewhat well, you are also very qualified to be a helper.
We arrange a helper onboarding sessions (see under Schedule). It is strongly recommended for the first-time helpers to attend this onboarding session. Please join one of the following sessions that fits your schedule.
This is not a course about a specific programming language or the Linux/Unix terminal shell. We assume that you are familiar with the programming language that you use in your work and research. We try to keep the course as language-independent as possible but we will show some basic code examples in Python.
Why should I come as a team? If you will work together later, learning the tools at the same time is a great way to do it.
Am I good enough to be a helper? If you are asking this question, probably you are. You should have some familiarity with git, provide some initial advice on obvious error messages, and be able to call us for advanced help when it’s needed.
How does the waiting list work? Anyone can register, but you go to the waitlist until we can be sure we have enough helpers. We’ll continually approve people as we get space. We know this may be more unpredictable for you, but the way to make sure you get in is join a team with a helper (or find us more helpers in general).
If it’s online, why did you close? CodeRefinery workshops are interactive, with lots of interaction between instructors, helpers, and learners. We can scale one-to-many easily, but we reached the limits of an interactive format.
How can I be notified of updates? Currently, we don’t have any way. Follow @coderefine on Twitter.
Here we can share during/after the workshop (anonymized) questions, answer, and feedback from the collaborative notes.