Instructor training workshop at TU Delft

Learning to teach tools and best practices in research software development

We had to postpone this workshop due to COVID-19. We have informed all registrants and will post new dates as soon as possible. In parallel we are preparing for providing courses online and will post dates soon.

April 20-21, 2020, TU Delft

We start Monday with lunch and conclude Tuesday afternoon.

Location: TU Delft, more details very soon

Workshop for present and future instructors

Do you (want to) teach researchers or independent students best practices of scientific software? Are you teaching a university course and would like to include aspects of best practices in software engineering in the course? Or would you simply like to educate your friends and colleagues in how to write more reusable, reproducible and better documented code?

If you answered yes to any of the above questions, we welcome you to join the first CodeRefinery instructor training workshop! This workshop will focus on how to teach technical topics (e.g. version control with Git, automated testing or programming languages) in general, and CodeRefinery lessons in particular. We will cover key pedagogical ideas and teaching methods, and what you need to know in order to teach the CodeRefinery lessons. All the material will be firmly grounded in the experience that CodeRefinery staff has acquired after teaching over 25 workshops to over 600 participants and the published best practices of the Software Carpentry organization.

One purpose of this workshop is to train CodeRefinery instructors, but being (or becoming) a CodeRefinery instructor is not required. People are equally welcome to learn our tips and tricks and join our informal Nordic network. Put another way: anyone involved in improving the quality of research code should be here!


Monday, April 20

The first day is focused on generalities of teaching and lesson design.

Tuesday, April 21

The second day is focused on going through lessons to revise and develop teaching strategies. The goal of this day is to review objectives, keypoints, and exercises, to identify sections/exercises that could be optional, and to adjust timing.

Each lesson discussion is led by 2-3 CodeRefiners. Their task is to prepare the following in the instructor guides before these sessions: 1) Why do we teach this lesson, 2) intended learning outcomes, and 3) how it is presented.

  • 9:00 - 10:30: Lesson discussion (3 groups)
    • Group 1: Git intro
    • Group 2: Modular code development
    • Group 3: Reproducible research
  • 10:30 - 11:00: Morning break
  • 11:00 - 12:30: Lesson discussion (3 groups)
    • Group 1: Documentation
    • Group 2: Jupyter
    • Group 3: Social coding
  • 12:30 - 13:30: Lunch
    • Place TBA
  • 13:30 - 15:00: Lesson discussion (3 groups)
    • Group 1: Automated testing
    • Group 2: Collaborative Git
    • Group 3: To be decided by popular vote
  • 15:00 - 15:30: Afternoon break
  • 15:30 - 17:00: Future


  • Thor Wikfeldt
  • Richard Darst
  • Radovan Bast



CodeRefinery is a project within the Nordic e-Infrastructure Collaboration (NeIC). NeIC is an organisational unit under NordForsk.


Privacy policy

Follow us

CodeRefinery GitHub account CodeRefinery Twitter account