Best practices for research software development

Two-week course on collaborative tools to develop reproducible software

November 25 - December 6, 2019, Université de Lille

This is a two-week course co-organized by CodeRefinery and Université de Lille, funded by the Department of Physics, Faculty of Sciences, Université de Lille.

The event is open for all but since the number of seats is limited, priority will be given to participants affiliated with the University of Lille.

Location

Université de Lille, Department of Physics, Room 124, Building P5.

Format

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

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.

Who the course is for

Are you doing any of these things below:

  • You write scripts to process data.
  • You change scripts written by your colleagues.
  • You write code that is used in research by you or others.

If yes, then this course is for you. Most participants are not “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.

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.

Prerequisites

  • 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. You will get information about this closer to the course.
  • It is useful if you have a basic idea of how Git works. We will start from the basics, but please go through this Git-refresher material for a basic overview and important configuration steps.

Schedule

It is possible to participate for only one week or both weeks.

Week 1

Week 2


Instructor

  • Radovan Bast

Organizers

  • Radovan Bast (contact: firstname.lastname@uit.no)
  • André Severo Pereira Gomes, Laboratoire de Physique des Lasers, Atomes et Molécules (PhLAM), CNRS / Université de Lille

About

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

GitHub and Twitter

Contact

Radovan Bast
High Performance Computing Group
UiT The Arctic University of Norway
+47 776 44117
radovan.bast@uit.no