How to write good code (Code Refinery)

Netherlands eScience Center

Online

February 14 - 17, 2022

9:00 - 13:00 CET

Instructors: Sven van der Burg, Leon Oostrum, Hanno Spreeuw

Helpers: Robin Richardson, Lieke de Boer

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

General Information

The Digital Skills programme at the Netherlands eScience Center focuses on the foundational digital skills needed to put reproducible research into practice. The workshops we run cover the essentials of version control, online collaboration, reproducible code and good programming practices.

The key objective of a this workshop is to grow researchers’ software best practices skills to facilitate open and reproducible research. The workshops focus on methods to build modular, reusable, maintainable, sustainable, reproducible, testable, and robust software. It is assumed that participants already write code for their research, but no expertise is required.

Optional Introduction to Git on day 1. From practice, we know the level of experience with git varies a lot. Therefore we offer an optional ‘Introduction to version control with Git’ lesson on day 1 of the workshop. Please take this 1-minute Quiz to quickly self-assess your git knowledge. If you answered all questions correctly you can join the workshop from day 2 onwards. Otherwise, you should join the “Introduction to Git” session on day one.

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.

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 14 - 17, 2022.

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.

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


Code of Conduct

Participants are expected to follow those guidelines:

Syllabus

Syllabus

Schedule

Day 1 (optional introduction to git)

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

Day 2

09:00 Welcome and icebreaker
09:15 Collaboration with Git and GitHub
10:15 Coffee break
10:30 Collaboration with Git and GitHube
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:30 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:30 Introduction to Continuous Integration
10:15 Coffee break
10:30 Introduction to Continuous Integration
11:00 Introduction to testing in Python
11:30 Coffee break
11:45 Introduction to testing in Python
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.

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.

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 (if you haven’t already):