Try   HackMD

2025 Sep/Oct CodeRefinery workshop

Basic info

  • Dates:
    • Week 1 "as usual" 9+10+11/September 11:00-13:00 + 14:00-15:30 (Oslo CEST times)
    • Week 2 spread over 6 weeks : 17.9+24.9+1.10+8.10+15.10 + 22.10; at 12-14.30 CEST, each lesson separate including exercise sessions

Meeting agenda and notes

2025-08-08 (13 CEST) Instructor meetup

Attending:

  • Radovan (Tromso; looking forward to preparing an updated version of modular code development)
  • Gregor Decristoforo (Tromsø - RSE /HPC group at UiT)
  • Richard (Aalto, long time member, trying to pass on what I know to the next generation)
  • Andrew Mashchak (Tromso/UiT - HPC/RSE group - New member - Focus: Statistics / R)
  • Ina Pöhner (UEF, Finland - mainly a drug discovery/AI researcher, but enjoying some coding/FAIR and teaching)
  • Sabry Razick()
  • Yu Tian (Aalto, RSE, joined the teaching last year, enjoying it.)
  • Jarno (Aalto, RSE, teaching CR for a long time, this time will handle streaming)
  • Thomas Pfau (Aalto, RSE, enjoying teaching in Coderefinery)
  • Hemanadhan Myneni (UICE, Iceland)
  • Michele Mesiti (Karlsruhe, RSE/RSE support, taught a bit this year and supported before)
  • Hossein (Aalto, RSE)
  • Oskar Taubert (CSC) first time instructor, mosly ML but also some RSE.

Notes

  • Please register to the workshop: https://indico.neic.no/event/282/
  • What we are doing today
    • Show instructor manuals - mostly reading materials
    • Kickoff the insturctor preparation
  • Instructor distribution (below) ok?
    • Finding co-teachers: Anyone want and have time to take a second lesson? -> Fill "??" spaces
  • Lesson preparation
    • Check past Q&A, e.g.: https://coderefinery.github.io/2025-03-25-workshop/questions/
    • Section: https://coderefinery.github.io/manuals/lesson-review/
    • What changes this time: more exercises for week 2 than last time.
    • !! Install instruction updates (deadline: before September; first install help session is Sep 3)
    • !! Demos back to exercises might require some updates in your lesson
      • Try to make the text suitable for either: there shouldn't necessarily be intrinsic changes
      • Learners will need more time than for demos
      • Learners will need more explicit instructions (and stuff needs to work perfectly the first time)
    • !! Timing (except git lessons): More time to exercises than in earlier workshops, check earlier feedback and instructor notes
    • During exercises, do we ask if the learners need more time?
      • we ask learners to communicate back to us via notes how it goes (whether they wished more time), actually giving more time and extending a session is then difficult but knowing how it goes in exercises is useful and it can help us adjusting next exercises. at the minimum we can comment on it. bottom line: we want to give learners the feeling that they are heard (read) although we might not be able to see them.
  • Teaching practices
  • !! Arrange two-on-ones (two instructors and RD) for each lesson.-
  • Livestream practice
    • Real teaching demo with all the parts
    • Scheduled ~1 week before week 1
  • Instructor training needs and possibilities
    • Practical tech test
  • AOB
    • The shell crash course from last workshop seems to have been dropped. We should somewhere clarify why and at least link to it from somewhere in the new workshop.
    • Can we provide zoom room where people can pop in and ask question and MM would be happy to be there in parallel to answering notes questions? There might not be much interest from learners but it would be relatively low effort to try.
      • Yes. Michele to create zoom with code to claim host. Day 6: Michele cannot be there, EG can be host.

Workshop roles

Instructors

(Description)

General interests and availability (check dates below):

  • Johan: Jupyter, testing
  • Jarno: streaming, Jupyter, documentation
  • Sabry: git-intro (or anything else during first week),
  • Radovan: modular code development (but can be more and can be less)
  • Michele: documentation, jupyter (done last year), testing (because it's cool),
  • Gregor: git-collaborative
  • Ina: reproducible research, git-intro
  • Oskar: testing, git-intro, (modular code development), documentation, (social coding)
  • Bjørn: git-intro, social coding
  • Andrew: git-collaborative
  • Yu: Modular code development
  • Hossein: git, modular code
  • Enrico: any empty slot (e.g. social coding)
  • Thomas: reproducible research,
  • Heman: git-intro (or open to anything except during the NeIC AHM)
  • Susa: might take over one of TPs lessons (clarified on Tue)

To be filled in later based on above: Two names per lesson, first is primary

  • day 1 (9.9) - git-intro: SR, HM
  • day 2 (10.9) - git-intro: SM, OT
  • day 3 (11.9) - git-collaborative: GD, AM
  • day 4 (17.9) - reproducible research: TP, IP
  • day 5 (24.9) - social coding: BL, EG
  • day 6 (1.10) - documentation: MM, YT
  • day 7 (8.10) - jupyter: JR, HF
  • day 8 (15.10) - automated testing: JH, SM
  • day 9 (22.10) - modular code dev: RB, YT
Instructor checklist

Before the workshop:

  • Review, triage, and work on lesson issues
  • Communicate exercise list to Exercise coordinator
  • Meet with co-instructor and together test your screen share
  • Communicate software requirements and timing changes to Instructor coordinator
  • Try to do a dry run (prefereably with someone “new” to the topic)

After the workshop:

Managing collaborative document

(description)

Task: Keep the document organized, check for unanswered questions, and archive notes each day.

General interests (write your name and days you would be available below):

  • DI (can help with archiving and asking questions, at least week 1)
  • MM (haven't done any archiving ever.
    • not available on day4
    • probably not available on day5
    • teaching on day6, so meh
  • ..

Based on above we can then fill the schedule:

  • preparation before workshop:
  • day 1 (Sep 9) - git-intro: DI, ???,
  • day 2 (Sep 10) - git-intro: DI, ???,
  • day 3 (Sep 11) - git-collab: DI, ???,
  • day 4 (Sep 17) - reproducible research: ???, ???,
  • day 5 (Sep 24) - social coding: ???, ???,
  • day 6 (Oct 1) - documentation: ???, ???,
  • day 7 (Oct 8) - jupyter: ???, ???,
  • day 8 (Oct 15) - testing: ???, ???,
  • day 9 (Oct 22) - modular code development: ???, ???,

Note that you can also send people to Zoom exercise session during the workshop.

Workshop organization; roles "behind the scenes"

Organiser roles and their responsibilities. This does not mean that a person will do
everything that is part of their responsibility, but they will make sure that
their responsibilities are followed-up and not forgotten.

AP for coordinators:

Event director

(description)

  • lead: Enrico (not around on day 7+8+9)
  • backup:
  • backup backup: Samantha
Checklist
  • Before workshop
    • Distribute roles using this document
      • Ask collaborators/stakeholders to pick roles
    • Add all sessions to CodeRefinery calendar separately
    • Send calendar invite to all organizers, instructors, expert helpers, with all relevant links
    • Decide if certificates will be possible and what is needed for getting a certificate/credits (ask from partner universities)
    • Remind co-organizers and instructors to register
    • Send summary email to all co-organizers will all important links in one place
  • During workshop:
    • day 1 intro to full workshop
    • daily intro (note that some people may only join one day!)
      • workshop setup with exercises, installation needs
      • collaborative notes
    • daily outro
    • last day outro + where to go from here
  • After the workshop:

Registration coordinator

(description)

  • lead: Samantha
  • backup: Enrico
Checklist

Broadcaster

(description)

  • lead: Jarno
  • backup: Richard
  • backup backup: Enrico (with backup Aalto laptop)
Checklist
  • Prepare ice-breakers for each day
  • Create instructor Zoom and communicate it (with exercise coordinator and outreach and marketing coordinator)
  • Publish recordings (does not do all the work but coordinates it)
    • Prepare for upload (use ffmpeg-editlist and collaborate)
    • Upload videos and communicate (with outreach and marketing coordinator)

Instructor coordinator

(description)

  • lead: Richard
  • backup:
  • backupbackup: Samantha
Checklist
  • Confirm that each lesson and session has co-instructors
    • One instructor per lesson assigned
    • Co-instructors found
  • Schedule general instructor call
    • 8.8 at 13 CEST
  • Schedule calls with each instructor pair to distill most important questions and tasks to them (or inform in general meeting to meet with co-instructor)
    • Show where the detailed schedule is and recommend to move it to instructor guide
    • Discuss that the detailed schedule can and should be improved
    • Show where Q&A and feedback from past workshop can be found
    • Discuss plans for exercises: try 3 exercises each half-day, each not shorter than 20 mins
    • Ask them to check their lesson's exercise list
    • Ask for any software requirements changes
    • Inform about audience (at the time of writing half of registrants prefer to follow on their own) - adapt exercise expectations to audience
    • Check/test for high-quality screen share
    • Discuss how we can give learners get a good experience
  • Test software install instructions
  • List instructors on the website (with exercise coordinator)
  • Organize team leader on-boarding sessions (with exercise coordinator)
  • After the workshop copy detailed schedule to the individual lesson repos as issues

Exercise and team leader coordinator

(description)

  • lead:
  • backup: Samantha (in contact with local classroom hosts and some helpers)
Checklist
  • Before the workshop
    • Make sure exercise list is communicated (with outreach and marketing coordinator)
      • We propose putting it in the schedule as subtitles for each session.
    • List all team leads (who consent to being listed) on the website (with instructor coordinator)
    • Organize staff & helpers on-boarding sessions (with instructor coordinator)
    • Send team leader onboarding summary email + save it to the website (with outreach and marketing coordinator)
  • After the workshop
    • Organize a de-briefing call with team leads to learn about their experiences and suggestions
    • Help other roles in putting everybody who contributed and consents on the website as credit
    • After the workshop remove the exercise repositories
    • Help event director with post-workshop survey

Outreach and marketing coordinator

(description)

  • lead:
  • backup: Samantha
Checklist

Channel collection:

Certificate coordinator

https://coderefinery.github.io/2023-03-21-workshop/certificates/

  • lead: Enrico
  • backup: ASC team (the process can be run by anyone and we are now using a ticketing system to track requests)
Checklist
  • Update text on event page abut certificates. Old instructions were temporarily removed because they were on old format
  • Make sure that instructions on certificates are disseminated multiple times
    • Workshop page, emails
      ​- Learner sends materials to scip _at_ aalto.fi. This opens a ticket in Aalto "esupport" system
      ​- The person who generates the certificate verifies quickly that the tasks were completed.
      ​- We then work with https://github.com/coderefinery/generate-certificates to generate PDF certificates
      ​- Certificate is sent to the person and ticket is closed
      ​- Aalto specific:
      ​    - The local version of that repository is at /scratch/rse/generate-certificates/. The commands were slightly modified so that the default working directory is not the home folder
      ​    - Aalto students can also obtain directly the 1 ECTS credit. See internal process at ASC pages.
      

Advertizement texts

Social media

CodeRefinery free online workshop on tools and techniques for more reproducible research; September 9-11 2025 + 6 following Wednesdays.
More info and registration: https://coderefinery.github.io/2025-09-09-workshop/

#RSEng #FAIR #researchsoftware #git

Short

CodeRefinery invites everyone interested in writing more reproducible research code to join the CodeRefinery workshop:

​​​​Intro to git and collaborative git: 9+10+11/September 11:00-13:00 + 14:00-15:30 (CEST)
​​​​Reproducible research and other topics spread over 6 following weeks Wednesdays with exercises: 17.9+24.9+1.10+8.10+15.10 + 22.10. for free and online.

For more information and registration, please visit: https://coderefinery.github.io/2025-09-09-workshop/.

Long

CodeRefinery workshop on tools and techniques for reproducible research

Are you writing code for your research? Do you struggle to reproduce results of your own or others computations?

Join the online CodeRefinery workshop on nine half days:

​​​​Intro to git and collaborative git: 9+10+11/September 11:00-13:00 + 14:00-15:30 (CEST)
​​​​Reproducible research and other topics spread over 6 following weeks Wednesdays with exercises: 17.9+24.9+1.10+8.10+15.10 + 22.10.

The CodeRefinery workshop aims to support researchers of all domains, levels and preferred programming languages to write more reproducible research code.

The workshop is held online (streamed on Twitch) with interactive hands-on sessions during the first week. Some locations may offer in-person events, and you may also join with your own classroom (please contact us if this option sparks your interest).

The event is free of charge.

More info and registration on the CodeRefinery-workshop site: https://coderefinery.github.io/2025-09-09-workshop/

​​​​In case of any questions, please contact support@coderefinery.org

Registration confirmation e-mail

You can follow the workshop lectures via Twitch in a web browser, no account needed:

Please use this collaborative document to ask questions during the workshop:

Schedule and lecture material:

We archive all our emails to registrants here in case you signed up later:

Please install required software before the workshop (ideally in the week before the workshop but not earlier):

If you have any questions, please write to support@coderefinery.org.

Best regards,

the CodeRefinery team