Try   HackMD

CodeRefinery workshop definition

These guidelines are work in progress and only a first draft

The CodeRefinery project provides open lesson materials that can be reused freely under a CC-BY license. We also organize and support workshops based on these materials.

This document defines what qualifies as a CodeRefinery workshop and sets out the criteria for using this label. While we strongly encourage reuse and adaptation of our materials, the term "CodeRefinery workshop" should be used only when specific conditions are met. This ensures consistency, maintains quality, and protects the reputation of the project.

What is a CodeRefinery Workshop?

A CodeRefinery workshop is an educational event that teaches tools and techniques around programming for research, using the CodeRefinery teaching approach and materials. These workshops are grounded in open science principles and designed to be inclusive, collaborative, and practically focused for learners across scientific domains.

There are two main categories:

1. The CodeRefinery workshop

This refers to the core, multi-day "tools" workshop that covers key topics such as version control, reproducibility, modular code, and documentation. It is typically taught online by a team of instructors, using live coding and a collaborative document.

2. Other CodeRefinery workshops

These include additional workshops developed or endorsed by CodeRefinery (e.g., "Python for Scientific Computing", "Tools and techniques for HPC") which also follow the CodeRefinery teaching philosophy and use its infrastructure.

When can you call it a "CodeRefinery workshop"?

To refer to your event as a CodeRefinery workshop, you must meet all of the following minimum requirements:

  1. Use of CodeRefinery materials
  • At least two-thirds of the content must be based on official CodeRefinery lessons.
  • Adaptations or forks must link clearly back to the original materials.
  1. Affiliation
    At least one organizer or instructor must:

    • Be a CodeRefinery team member, OR
    • Have completed CodeRefinery instructor training, taught in a previous CodeRefinery workshop, and maintain some level of contact with the project.
  2. Connection and communication with the project

  • Inform the CodeRefinery team about the workshop ahead of time.
  • Share participant numbers, feedback, and key takeaways afterwards (via blog post, debrief, or informal message).

This helps us track impact and include your event in our reporting and community updates.

  1. Adherence to CodeRefinery’s Code of Conduct
    • The workshop must follow the CodeRefinery Code of Conduct, and this should be clearly communicated to participants.
    • Organizers are responsible for handling any CoC violations appropriately.

Note: If the workshop is open to external participants, the CodeRefinery team can help advertise it.

These aren’t mandatory, but they are strongly encouraged to preserve the CodeRefinery spirit:

  • The workshop should be free of charge and openly accessible.
  • Use co-teaching: no one should teach a lesson alone.
  • A collaborative document should be available for Q&A and participant interaction.
  • Use live coding with learner-paced instruction.
  • Keep all materials under an open license and share any adaptations publicly.
  • Adaptations for specific domains are welcome.
  • Use CodeRefinery infrastructure where possible (e.g., GitHub org, streaming, registration tools).

Workshops that use CodeRefinery materials but aren’t “CodeRefinery Workshops”

You’re welcome and encouraged to use CodeRefinery materials in your teaching!
However, if your event doesn’t meet the criteria above, please don’t call it a “CodeRefinery workshop.”

Instead, feel free to say that your event:

  • Uses CodeRefinery materials, or
  • Is inspired by CodeRefinery

Please avoid suggesting an official affiliation if one doesn’t exist.

Why These Guidelines?

These criteria help us:

  • Ensure high-quality, consistent learning experiences
  • Maintain trust in the CodeRefinery name
  • Enable sustainable collaboration and improvement
  • Encourage reuse of our open materials in a responsible way

When in doubt, please contact support@coderefinery.org.

END of draft


Answers from team (during kick-off)

If you would need to define what is a CodeRefinery workshop: what are the requirements to use the name?

  • Use the materials
  • Follow the code of conduct
  • Maybe at least one with instructor training

I think that anything being taught can be linked to CodeRefinery as long as the person teaching has gotten approval from a CodeRefinery team member and the teaching follows the principles that CodeRefinery embodies.

There is THE CodeRefinery workshop (the "tool" workshop) and then there are other CodeRefinery workshops (TTT4HPC, python for sci comp) Maybe if materials are hosted under coderefinery organisation and/or if streaming or youtube is under coderefinery, then it is a coderefinery workshop?

The workshop need to use 2/3 to 3/4 of the CodeRefinery Material.

Open material distribution, Open access to the course, online distribution and inclusion, questions presented and answered in some form of collaborative document (were participants can edit)

Live coding content paced in a way that students can follow along.

Having never attended or taught a CodeRefinery training yet, I do not have an intuition for this.
I guess if both the organizers of the workshop and some fraction of the CR instructors agree, it could be branded as such.

Can we go through and identify what should and shouldn't be, from our examples (main lessons at our partners).

I'd like to hear what others think, because I'm not sure. First thoughts to me:

  • The core selected lesson materials of the main workshop
  • The core workshops we recommend everyone to take.
  • Everything in the CR teaching style (perhaps with proportional attendance of instructor/lesson designer training?)
  • It could be only we give "coderefinery workshops" but others give "workshops with coderefinery materials" (I'm not sure we have time to manage a whole ecosystem, or if we need to)

To me it's almost synonomous with a workshop which is: user-centric (for diverse new learners, not highly specalized), online, livestream, with good exercises and open materials

  • the workshop needs to use our materials or a fork of our materials
  • allow for some flexibility to tailor the content to match a certain group
  • team instructor optional
  • I think we'd get more CR-branded workshops if the requirements are low
  • one requirement should nevertheless be: specify how instructor is connect to the CR project, if so, and report back to CR about the workshop

I think we should be fairly strict with letting activities and event be held and announced with referral to the CodeRefinery name. To my knowledge use of our material and referral to the CodeRefinery have commonly been in done in a context where our materials have been used, people on the team have been involved