Code Refinery Workshop

Netherlands eScience Center

Online

June 7th - 8th, 2021

9:00-16:00 CEST

Instructors: Sven van der Burg, Jens Wehner, Barbara Vreede

Helpers: Sarah Alidoost, Pushpanjali Pawar

General 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: June 7th - 8th, 2021. Add to your Google Calendar.

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 training@esciencecenter.nl for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Who can attend?: The course is aimed at graduate students and other researchers. It is assumed that participants already write code for their research. Some experience in navigating the file tree and editing files in a terminal session is required. Familiarity with Python programming basics is expected. Furthermore we expect participants to have knowledge of git. You can take this quiz to see if you have the required knowledge of git. If you fail the quiz, we strongly suggest you catch up using one of the following ressources, Code Refinery Git lesson, Software Carpentry Git lesson


Code of Conduct

Participants are expected to follow those guidelines:

Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Schedule

Day 1. June 7th

09:00 Welcome
09:15 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:30 Lunch
13:30 Introduction to Continuous Integration
14:30 Coffee break
14:45 Introduction to Continuous Integration
15:45 Wrap-up
16:00 END

Day 2. June 8th

09:00 Welcome
09:15 Documentation
10:15 Coffee break
11:00 Documentation
11:30 Coffee break
11:45 Introduction to Testing in python
12:30 Lunch
13:30 Introduction to Testing in python
14:30 Coffee break
14:45 Writing Modular Code
15:45 Wrap-up
16:00 END
All times in the schedule are in the CEST timezone.

Syllabus

Modular Code Development

  • Pure Functions
  • Limiting side effects of functions and data
  • The Zen of Python
  • Single- vs multi-purpose functions

Continuous Integration

  • Continuous integration with GitHub

Code Documentation

Setup

To participate in this workshop, you will need access to the software 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.

Install following software

Python and required packages

Follow Python installation instructions.

Git

Follow Git installation configure and verify it.

GitHub

Create GitHub account.