CodeRefinery workshop September 20-22 and 27-29, 2022


  • Thanks to all for attending! Please take a look below at all of the amazing people who helped to make this workshop possible. Do you want to be one next time?
  • Read the workshop outro for what we suggest to do next.
  • All lesson material stays available indefinitely and will continue to be improved.
  • HackMD is archived each day on the Q&A page, and is available on HackMD until then.
  • Videos: Twitch stores the videos for 7 days for instant replays. This YouTube playlist will get videos before midnight.
  • Information on certificates is below
  • Why don't you get involved and help us for next time?


Why is there not just one registration page? Because we allow teams and organizations to self-organize their registration process and some organizations prefer that.

General registration (Anyone worldwide may register here for basic online attendance with no obligation. You may be interested in one of the following special attendee groups, in which case you don't need to register here, but still can):

  • Aalto University: please register via the main form. You can also join us live in Otaniemi, see below.
  • Jyväskylä University (In-person exercise and mentor group)
  • Note: anyone in Finland can attend the course together with other people in Otaniemi room F336, please register at Finland in-person CodeRefinery event. Snacks and drinks will be availble.
  • TU Delft: Please register in the following waiting list. We will try to allocate you in a team with an exercise leader. Being on the waiting list does not guarantee you a spot. You will receive a confirmation email if you are registered in the workshop. If you would like to register as a team and you can provide an exercise leader, please contact Paula Martinez Lavanchy.
  • VU Amsterdam

If you want to join as organization to provide local helpers or in-person sessions, please do! This usually takes the form of a "watching party" with coordinated breaks for exercises. You can manage that on your own and all we will ask you is to register the teams and their contact point with us. Later (during or after the workshop) we will ask you to give us actual participation numbers and also provide us with the affiliation contry/countries of the participants and their career stage/ job type. If it is helpful for your organization, we can also list your registration link here.

Course goals

In this course, you will become familiar with tools and best practices for scientific software development. This course will not teach a programming language, but we teach the tools you need to do programming well and avoid common inefficiency traps. The tools we teach are practically a requirement for any scientist that has to do their own programming. The main focus is on using Git for efficiently writing and maintaining research software.


This is an informal and interactive event with type-along lessons, live coding, and exercises. Learners are divided into exercise teams for interactivity - register with a friend! If you feel a bit more confident in the material, you can register as an exercise leader.

The workshop will be held online, see options at how to join:

  • Everyone watches the main teaching via a livestream at If you register, you can get emails and link to ask questions.

  • The reason why we stream the main workshop via Twitch and not via Zoom is that this way we can guarantee that learners cannot appear in stream or recording with voice or video.

  • You can also register to attend our Zoom breakout rooms (limited places), and you will be placed into a small, interactive breakout room. Please only register for Zoom if you want to actively take part in the exercises (read more).

  • Some partners offer in-person breakout rooms and help, see below.

Before signing up please also read this privacy note about tools/services we use.


These partners offer local support, such as breakout rooms, to their local groups. Become a partner to support your community!

Other CodeRefinery partners include ENCCS (SE), CSC (FI), DeiC (DK), UNINETT Sigma2 (NO), SNIC (SE), Type 1 Consortium for Interactive HPC (DK), and USIT, UiO (NO).

Certificates and credits

It is possible to obtain a certificate from the course with a little extra work. The certificate is equivalent to 1 ECTS and your study supervisor will be able to register it as a credit in your university study credit system. Please make sure that your supervisor/study program accepts it.

Learners with a valid Aalto student number will automatically get the credit registered in Aalto systems. Please note that this does not apply to participants affiliated with TU Delft who have own criteria for workshop certificates and credits.

To obtain a certificate, we expect you to follow the 6 days of the course and provide us with the following three documents via email:

  1. The output of git log --all from the repositories that you have used during the course as a text file. Evaluation criteria: we expect to see the results from most of the git commands that are run in the first 3 days of the workshop.
  2. Written answers to the following four questions submitted as a document (pdf or word or txt). Evaluation criteria: we expect critical answers related to the content of first 3 days with both pros and cons (when relevant):
    • When should you work with branches?
    • What is the difference between a git clone and a git fork?
    • What is the difference between a fork and a branch?
    • What advantages and disadvantages to code review can you imagine/list?
  3. A personal reflection for each of the 6 days written as a document (pdf or word or txt, one paragraph per day). To get started, you can try answering the questions "Why is this important? How can it improve my research work?", however any other personal reflection is welcome. Evaluation criteria: we expect reflections that are related to the content of each of the six days.

These three documents should be sent before 30/October/2022 23:59CET to one of the following email addresses. If you are from a Swedish institution you may email If you are from other countries please email If the evaluation criteria are met for each of the 3 documents, you will receive a certificate by mid November 2022. Please note that we do not track course attendance.



  • Matias Jääskeläinen
  • Radovan Bast

Video production

  • Richard Darst
  • Matias Jääskeläinen


  • Radovan Bast
  • Diana Iusan


  • Sabry Razick
  • Samantha Wittke
  • Dhanya Pushpadas
  • Thomas Pfau
  • Radovan Bast
  • Hande Celikkanat
  • Johan Hellsvik
  • Thor Wikfeldt
  • Jarno Rantaharju
  • Matteo Tomasini
  • Richard Darst

Expert helpers

  • Diana Iusan
  • Thor Wikfeldt
  • Johan Hellsvik
  • Stephan Smuts
  • Juho Lehtonen
  • Dhanya Pushpadas

Exercise leaders :heart:

Be an exercise leader.

  • Björn Claremar
  • Philip Gjedde
  • Juho Lehtonen
  • Bjørn Lindi
  • Giordano Lipari
  • Dhanya Pushpadas
  • Stephanie van de Sandt
  • Meron Vermaas
  • Aleksandra Wilczynska
  • Ruslan Zhuravchak
  • Kaveh Karimi