CodeRefinery workshop in Reykjavik

Teaching researchers in sustainable software development

August 21-23, 2018, 9:00 am to 5:00 pm

Registration is closed
More information about the registration procedure.



Hands-on informal and interactive three-day event with type-along type of presentations, live coding and demos. Short tutorials alternate with practical exercises.

Software requirements

Please follow the links below and make sure that you install all the required software packages. 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.

  • Bash
  • Editor
  • Git
  • Python
  • (optional) Visual diff tools
  • Make
  • Jupyter
  • Snakemake
  • (optional) Docker
  • Schedule

    Tuesday, August 21 Wednesday, August 22 Thursday, August 23


    Tæknigarður, room 227 (2nd floor), University of Iceland.


    9:00 am to 5:00 pm


    Free of charge.

    Course goals

    The aim of this course is to demonstrate to and familiarize the workshop participants with best practices and tools in modern research software development. The main focus is on professional tools for efficiently developing and maintaining research software. Since most research code is developed in a collaborative setting, we will discuss tools and workflows which facilitate this process. Most of the content is also relevant to a single developer.

    Note that a workshop covering HPC topics will be held on June 13-15, see Nordic High Performance Computing & Applications Workshop. While both are funded by NeIC, the topics and trainers are different.

    Who the course is for

    If you are writing code that is used in research, then this course is for you. 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.

    What we will not teach

    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.


    • You should be able to navigate the file tree in a terminal session and edit text files in the terminal.
    • Basics in at least one programming language.
    • You will need to bring a laptop.
    • It is good if you have access to Eduroam.
    • You need to install some software. Please follow links in the schedule.


    • Radovan Bast
    • Bjørn Lindi
    • Kjartan Thor Wikfeldt


    • TBA


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

    GitHub and Twitter


    Radovan Bast
    High Performance Computing Group
    UiT The Arctic University of Norway
    +47 776 44117