Enhancing Data Support: Practical Reproducibility

This is part 2/2 of the webinar/workshop series on “Enhancing data support: Reproducibility” held at CSC in October 2025.

Part 1 introduced the concept of reproducibility in research and highlighted its importance.

This workshop will discuss two tools often involved when discussing reproducible computational reasearch: GitHub and Jupyter.

The time in this workshop is too short to give a full practical introduction of the tools however, therefore the learning objectives are:

  • Discover best practices and understand the basic principles of using GitHub and Jupyter to support research reproducibility.

  • Get the idea how to utilize the basic features of Git repositories and Jupyter notebooks

We mainly want to provide a safe environment to experience these tools and give you some pointers as to when and where they are useful to inftroduce researchers to, as well as how they might be useful in your own work, even if you are not programming yourself.

Introduction to todays topics

We already heard that reproducible research involving computers has many components.

Let’s revisit them:

TODO: Turing way image of data, tools, code, results

In this workshop we will focus on the “code” part, how can we collaborate and share the code we are working on.

We will not cover how to share code with a DOI, code licensing, environment sharing or go into depth of the topic.

More we will look into two specific tools:

  • GitHub

  • Jupyter

Prerequisites

This is a lesson targeted at beginners, no prior knowledge of GitHub or Jupyter is needed.

To follow the exercises you need:

are instructions on how to remove it later if you do not wish to keep it)

  • Acess to a Jupyter Notebook (we will use CSC Noppe)

Learning outcomes

  • Discover best practices and understand the basic principles of using GitHub and Jupyter to support research reproducibility.

  • Learn how to utilize the basic features of Git repositories and Jupyter notebooks to enhance reproducible research in your institution.

Agenda for the workshop

10 min

Intro and practicalities

20 min

Basics and motivation

15 min

creating-using-web

5 min

Contributing to existing repositories using pull requests

5 min

How to organize a group’s work

10 min

break

20 min

Jupyter Notebooks

25 min

Our first notebook

10 min

<no title>

Content

Inspiration for this lesson and further reading

  • TODO: CodeRefinery lesson DOIs

  • TODO: Skills4EOSC curriculum link