Code Refinery Workshop

Netherlands eScience Center

Online

Oct 04-07 , 2021

9:00 - 13:00 CEST

Instructors: Djura Smits, Johan Hidding

Helpers: Dafne van Kuppevelt, Hanno Spreeuw, Ou Ku

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

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: Oct 04-07 , 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, but no expertise is required. Some experience in navigating the file tree and editing files in a terminal session is recommended. Familiarity with Python programming basics is expected.


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

Code of Conduct

Participants are expected to follow those guidelines:

Schedule

Day 1 (optional introduction to git). Oct 4th

09:00 Welcome
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. Oct 5th

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:45 Wrap-up
13:00 END

Day 3. Oct 6th

09:00 Welcome
09:15 Introduction to Continuous Integration
10:15 Coffee break
10:30 Introduction to Continuous Integration
11:00 Documentation
11:30 Coffee break
11:45 Documentation
12:45 Wrap-up
13:00 END

Day 4. Oct 7th

09:00 Welcome
09:15 Writing Modular Code
10:15 Coffee break
10:30 Writing Modular Code
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

Syllabus

Introduction to Version Control with Git

  • Creating a Repository
  • Recording Changes to Files: add, commit, ...
  • Viewing Changes: status, diff, ...
  • Ignoring Files
  • Working on the Web: clone, pull, push, ...
  • Resolving Conflicts
  • Open Licenses
  • Where to Host Work, and Why
  • Reference...

Testing (tentative)

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

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.