CodeRefinery workshop March 22-24 and 29-31, 2022

Registration is closed
  • Anyone can follow the workshop on but please do register anyway to "live stream" as this makes it easier for us to report to our funders on how many learners we reach. Workshop is done, thanks to all attendees!
  • All emails to participants (without registration-only links) can be found from the workshop issue tracker
  • HackMD questions are posted to the Q&A page after a few hours with additional clarifications.
  • Workshop videos
  • Twitter hashtag: #coderefinery22

Course goals

In this course, you will become familiar with tools and best practices for scientific software development. We don't teach programming, 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.

  • 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!

  • Aalto University:
    • Local in-person breakout room: register on the main form as "type=livestream only" and "OK to give your contact detail to a breakout room organizer? = yes". Room = U523 (days 1-3,6) and F336 (days 4-5).
    • Possibility of credit points to those in Finland (more info later).
  • TU Delft: PhD candidates can receive graduate school credits. (TU Delft registration)

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).


All times are in Europe/Stockholm time (CET/CEST). (Convert 9:00 to your timezone: first week, second week - note that Europe summer time starts between the weeks) The schedule includes frequent breaks.

Exercise leader onboarding

Installation help and verification times (drop in)

Day 1 (Tuesday, March 22)

Day 2 (Wednesday, March 23)

Day 3 (Thursday, March 24)

Day 4 (Tuesday, March 29)

Day 5 (Wednesday, March 30)

  • 8:50 - 9:00 connecting time, icebreaker
  • 9:00 - 10:45 Jupyter (Thor and Johan)
  • 10:45 - 12:30 Documentation (Jarno and Samantha)

Day 6 (Thursday, March 31)

Certificates and credits

It is possible to obtain a certificate from the course with a little extra work. 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 14/April/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 the end of April 2022. Please note that we do not track course attendance.



  • Radovan Bast
  • Richard Darst
  • Enrico Glerean

Instructors and expert helpers

  • Radovan Bast
  • Richard Darst
  • Enrico Glerean
  • Luca Ferranti
  • Johan Hellsvik
  • Diana Iusan
  • Bjørn Lindi
  • Jarno Rantaharju
  • Sabry Razick
  • Thor Wikfeldt
  • Samantha Wittke
  • and you?

Exercise leaders :heart:

Be an exercise leader.

  • Niket Agrawal
  • Inigo Aldazabal
  • Heather Andrews
  • Thomas Arildsen
  • Lora Armstrong
  • Susan Branchett
  • Romain Caneill
  • Abel Carreras
  • Björn Claremar
  • Juan Sebastian Diaz Boada
  • Marco Foscato
  • Manuel Garcia Alvarez
  • Niharika Gauraha
  • Agneta Ghose
  • Toby Hodges
  • Maurits Kok
  • Bjørn Lindi
  • Jose Carlos Llanusa
  • Pedro Ojeda
  • Dhanya Pushpadas
  • Stephan Smuts
  • Ingrid Strandberg
  • Aleksandra Wilczynska