CodeRefinery workshop March 12-14 and 19-21, 2024


The course part is done but we offer two "bring your own code" sessions, where you can bring the exercises or real projects and get live advice. See schedule.

Material (linked in schedule below), the Q&A, and the recordings will remain available indefinitely.


There is no deadline and you are welcome to register and join even after the event started. You can attend just those days or sessions you want but please register anyway.

Should all in a team sign up? Or only one person? We recommend that all register so that they get all necessary information.

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.

Some organizations offer their own registration form. In this case please register with them and then you do not have to register here centrally as well. We will then make sure that everybody gets all necessary information.


All times are displayed in the local timezone of your browser. Detected timezone offset compared to UTC:

Breaks: 10 minutes every hour, between xx:50 and xx:10, but it is difficult for us to indicate exactly when.

Installation help and on-boarding
, - On-boarding for team leaders (option 1)
, - On-boarding for team leaders (option 2)
, - Installation help for everybody (option 1)
Installation help and on-boarding (you don't need to attend all sessions, choose the one that is better for you)
, - On-boarding for team leaders (option 3)
, - On-boarding for team leaders (option 4)
, - Installation help for everybody (option 2)
Day 1
, - Welcome and introduction
Presenters: Samantha
, - Introduction to version control with Git - part 1/4
Why we want to track versions and how to go back in time to a working version: Motivation, Browsing, Commiting
Presenters: Radovan and Gregor
, - Introduction to version control with Git - part 2/4
Presenters: Radovan and Gregor
Day 2
, - Introduction to version control with Git - part 3/4
Presenters: Radovan and Bjørn
, - Introduction to version control with Git - part 4/4
Presenters: Radovan and Bjørn
Day 3
, - Collaborative distributed version control - part 1/2
Presenters: Radovan and Gregor
, - Collaborative distributed version control - part 2/2
Presenters: Radovan and Gregor
Day 4
, - Reproducible research
Preparing code to be usable by you and others in the future
Presenters: Samantha and Enrico
, - Social coding and open software
What can you do to get credit for your code and to allow reuse
Presenters: Jarno and Radovan
Day 5
, - How to document your research software
Presenters: Jarno and Thomas
, - Jupyter notebooks
A tool to write and share executable notebooks and data visualization
Presenters: Matias and Radovan
Day 6
, - Automated testing
Preventing yourself and others from breaking your functioning code
Presenters: Richard and Jarno
, - Modular code development
Making reusing parts of your code easier
Presenters: Jarno and Richard
, - Concluding remarks, general Q&A, and where to go from here
Presenters: Samantha
Optional: Bring your own code session
, - Bring your own code and discuss and ask; you can also join this session if you have not attended the workshop
Optional: Bring your own code session
, - Bring your own code and discuss and ask; you can also join this session if you have not attended the workshop

Be a team leader

Do you know some of the topics, but want to review them? Do you wish your colleagues or friends would use these tools? Why not attend as a team leader? Gather some friends who want to learn the topics and follow the workshop together. You don't need to be an expert: if you have been through CodeRefinery once or have some familiarity with the topics, and you are confident to call an expert helper when needed, then you have all it takes to lead a team to success, or lead even more people and join as an organization (see below).

Partners and local exercise groups

Some partners offer local support, such as breakout rooms, to their local teams. You can become a partner to support your community!

We collect here the exercise groups that we know:


  • Enrico Glerean
  • Radovan Bast
  • Samantha Wittke
  • Gregor Decristoforo
  • Richard Darst
  • Matias Jääskeläinen
  • Jarno Rantaharju
  • Thomas Pfau
  • Bjørn Lindi

Workshop organizers

  • Radovan Bast


  • Samantha Wittke
  • Radovan Bast


  • Samantha Wittke
  • Dhanya Pushpadas

Recording and broadcasting

  • Richard Darst

Local organizers

  • Teemu Ruokolainen
  • Enrico Glerean

Collaborative notes editors

  • Johan Hellsvik (week 1)
  • Stephan Smuts (day 1, day 3, day 4, day 6)
  • Aurélie Vancraeyenest (except day 4)


CodeRefinery is a project within the Nordic e-Infrastructure Collaboration (NeIC). NeIC is an organisational unit under NordForsk.


Privacy policy

Follow us


Improve this page

Source code