CodeRefinery workshop March 22-24 and 29-31, 2022
Anyone can follow the workshop on https://twitch.tv/coderefinery/ but please do register anyway to "live stream" as this makes it easier for us to report to our funders on how many learners we reach.Workshop is done, thanks to all attendees!- All emails to participants (without registration-only links) can be found from the workshop issue tracker
- HackMD questions are posted to the Q&A page after a few hours with additional clarifications.
- Workshop videos
- Immediately (for 14 days only, unprocessed) on Twitch
- All are now in this YouTube playlist, processed, split into segments.
- Twitter hashtag:
#coderefinery22
Course goals
In this course, you will become familiar with tools and best practices for scientific software development. We don't teach programming, but we teach the tools you need to do programming well and avoid common inefficiency traps. The tools we teach are practically a requirement for any scientist that has to do their own programming. The main focus is on using Git for efficiently writing and maintaining research software.
Format
This is an informal and interactive event with type-along lessons, live coding, and exercises. Learners are divided into exercise teams for interactivity - register with a friend! If you feel a bit more confident in the material, you can register as an exercise leader.
The workshop will be held online, see options at how to join:
-
Everyone watches the main teaching via a livestream at https://twitch.tv/coderefinery. If you register, you can get emails and link to ask questions.
-
You can also register to attend our Zoom breakout rooms (limited places), and you will be placed into a small, interactive breakout room. Please only register for Zoom if you want to actively take part in the exercises (read more).
-
Some partners offer in-person breakout rooms and help, see below.
Before signing up please also read this privacy note about tools/services we use.
Partners
These partners offer local support, such as breakout rooms, to their local groups. Become a partner to support your community!
- Aalto University:
- Local in-person breakout room: register on the main form as "type=livestream only" and "OK to give your contact detail to a breakout room organizer? = yes". Room = U523 (days 1-3,6) and F336 (days 4-5).
- Possibility of credit points to those in Finland (more info later).
- TU Delft: PhD candidates can receive graduate school credits. (TU Delft registration)
Other CodeRefinery partners include ENCCS (SE), CSC (FI), DeiC (DK), UNINETT Sigma2 (NO), SNIC (SE), Type 1 Consortium for Interactive HPC (DK), and USIT, UiO (NO).
Schedule
All times are in Europe/Stockholm time (CET/CEST). (Convert 9:00 to your timezone: first week, second week - note that Europe summer time starts between the weeks) The schedule includes frequent breaks.
Exercise leader onboarding
- March 16 (Wednesday) 12:00 - 13:00 CET (timezone converter)
- March 17 (Thursday) 12:00 - 13:00 CET (timezone converter)
Installation help and verification times (drop in)
- March 16 (Wednesday) 13:00 - 14:00 CET (timezone converter)
- March 17 (Thursday) 13:00 - 14:00 CET (timezone converter)
Day 1 (Tuesday, March 22)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 9:20 Welcome and practical information (Richard)
- 9:20 - 12:30 Introduction to version control - part 1/2 (Diana and Radovan)
Day 2 (Wednesday, March 23)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 12:30 Introduction to version control - part 2/2 (Diana and Radovan)
Day 3 (Thursday, March 24)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 12:30 Collaborative distributed version control (Jarno and Radovan)
Day 4 (Tuesday, March 29)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 9:15 Second week intro (Radovan)
- 9:00 - 11:15 Reproducible research and FAIR data (Thor and Samantha)
- 11:15 - 12:30 Social coding and open software (Richard and Sabry)
Day 5 (Wednesday, March 30)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 10:45 Jupyter (Thor and Johan)
- 10:45 - 12:30 Documentation (Jarno and Samantha)
Day 6 (Thursday, March 31)
- 8:50 - 9:00 connecting time, icebreaker
- 9:00 - 10:45 Software testing (Richard, Johan, and Luca)
- 11:00 - 12:15 Modular code development (Luca and Radovan)
- 12:15 - 12:30 Concluding remarks and where to go from here (Richard)
Certificates and credits
It is possible to obtain a certificate from the course with a little extra work. Please note that this does not apply to participants affiliated with TU Delft who have own criteria for workshop certificates and credits.
To obtain a certificate, we expect you to follow the 6 days of the course and provide us with the following three documents via email:
- The output of
git log --all
from the repositories that you have used during the course as a text file. Evaluation criteria: we expect to see the results from most of the git commands that are run in the first 3 days of the workshop. - Written answers to the following four questions submitted as a document (pdf or word or txt). Evaluation criteria: we expect critical answers related to the content of first 3 days with both pros and cons (when relevant):
- When should you work with branches?
- What is the difference between a
git clone
and agit fork
? - What is the difference between a fork and a branch?
- What advantages and disadvantages to code review can you imagine/list?
- A personal reflection for each of the 6 days written as a document (pdf or word or txt, one paragraph per day). To get started, you can try answering the questions "Why is this important? How can it improve my research work?", however any other personal reflection is welcome. Evaluation criteria: we expect reflections that are related to the content of each of the six days.
These three documents should be sent before 14/April/2022 23:59CET to one of the following email addresses. If you are from a Swedish institution you may email diana.iusan@uppmax.uu.se. If you are from other countries please email enrico.glerean@aalto.fi. If the evaluation criteria are met for each of the 3 documents, you will receive a certificate by the end of April 2022. Please note that we do not track course attendance.
Contact
Coordinators
- Radovan Bast
- Richard Darst
- Enrico Glerean
Instructors and expert helpers
- Radovan Bast
- Richard Darst
- Enrico Glerean
- Luca Ferranti
- Johan Hellsvik
- Diana Iusan
- Bjørn Lindi
- Jarno Rantaharju
- Sabry Razick
- Thor Wikfeldt
- Samantha Wittke
- and you?
Exercise leaders :heart:
- Niket Agrawal
- Inigo Aldazabal
- Heather Andrews
- Thomas Arildsen
- Lora Armstrong
- Susan Branchett
- Romain Caneill
- Abel Carreras
- Björn Claremar
- Juan Sebastian Diaz Boada
- Marco Foscato
- Manuel Garcia Alvarez
- Niharika Gauraha
- Agneta Ghose
- Toby Hodges
- Maurits Kok
- Bjørn Lindi
- Jose Carlos Llanusa
- Pedro Ojeda
- Dhanya Pushpadas
- Stephan Smuts
- Ingrid Strandberg
- Aleksandra Wilczynska