Good Practices in Research Software Development

online

Online

February 03 - 06, 2025

9:00 - 13:00 CET

Instructors: Olga Lyashevska, Francesco Nattino

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.

General Information

The eScience Center offers a range of workshops and training courses, aimed at PhD candidates and other researchers or research software engineers. We organize workshops covering digital skills needed to put reproducible research into practice. These include online collaboration, reproducible code and good programming practices. We also offer more advanced workshops such as GPU Programming, Parallel Programming, Image Processing and Deep Learning.

The key objective of this workshop is to grow researchers’ software skills necessary to apply good practices that enable open and reproducible research. The workshop focuses on building modular, reusable, maintainable, sustainable, reproducible, testable, and robust software. This will allow you to more easily organize, maintain and share your data. The participants should be familiar with programming and regularly write code for their research, but no extensive expertise or knowledge of specific tools are required. The main themes that are addressed are generically applicable, but please note that a lot of the exercises and demonstrations are in Python.

This workshop is inspired by and based on CodeRefinery training materials.

Who: 

It is assumed that participants already write code for their research, but no expertise is required. Some experience in navigating file trees and editing files in a terminal session, as well as basic knowledge of Python programming is recommended.

If you find the topics that are covered in this workshop too basic, you could consider joining the ‘Intermediate Research Software Development’ workshop. That workshop has a similar focus, but also teaches more intermediate topics like software architecture, object-oriented & functional programming, Integrated Software Development environments and is targeted to slightly more advanced research software engineers. Checkout our upcoming workshops for more information.

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: February 03 - 06, 2025, 9:00 - 13:00 CET.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Workshop files: You will find all slides, notebooks, archived collaborative documents, and other relevant files in the files folder of the workshop website repository after the workshop.

Contact: Please email or training@esciencecenter.nl for more information.


Code of Conduct

Participants are expected to follow these guidelines:

Syllabus

Introduction to version control with Git

Collaboration with Git and Github

Code Documentation

Modular Code Development

Testing

Continuous Integration

Schedule

Day 1

09:00 Welcome and icebreaker
09:15 Introduction to version control with Git
10:15 Coffee break
10:30 Introduction to version control with Git
11:30 Coffee break
11:45 Introduction to version control with Git
12:45 Wrap-up
13:00 END

Day 2

09:00 Welcome and icebreaker
09:15 Workshop Introduction
09:30 Collaboration with Git and GitHub
10:15 Coffee break
10:30 Collaboration with Git and GitHub
11:30 Coffee break
11:45 Collaboration with Git and GitHub
12:45 Wrap-up
13:00 END

Day 3

09:00 Welcome and icebreaker
09:15 Writing modular code
10:15 Coffee break
10:30 Writing modular code
11:00 Documentation
11:30 Coffee break
11:45 Documentation
12:45 Wrap-up
13:00 END

Day 4

09:00 Welcome and icebreaker
09:15 Introduction to testing
10:15 Coffee break
10:30 Introduction to Continuous Integration
11:30 Coffee break
11:45 More advanced testing
12:45 Wrap-up
13:00 END

All times in the schedule are in the CET timezone.


Setup

To participate in this workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Software setup

Computer

Participants must work on a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) on which they have administrative privileges.

Software

To participate in this workshop, you will need to prepare the following:

Please refer to this page for detailed instructions.

In addition, you will need to:

Please refer to this page for instructions.

If something does not work:

Follow the corresponding setup instructions. If you still need help, come to our dedicated setup session.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.