Skip to content

Latest commit

 

History

History
317 lines (197 loc) · 8.82 KB

File metadata and controls

317 lines (197 loc) · 8.82 KB

class: center, middle, gray-background

CodeRefinery logo

CodeRefinery: A Community for Teaching, Learning, and Growing Together

Samantha Wittke, CSC - IT Center for Science, Finland

HiRSE seminar, March 2025


Content for today


  • The CodeRefinery project

  • CodeRefinery workshops

  • The community

  • How to engage, contribute, and benefit from our resources


The problem - Research code challenges


  • Many researchers write code but lack formal training

  • Collaboration on code can be frustrating and inefficient

  • Research code is often poorly documented and non-reproducible

  • Good coding practices are often not part of standard academic training



.center[.remark["It works on my machine"]]


Enter, CodeRefinery

Our mission since 2016:

  • A community-driven, publicly funded project
  • Hands-on training in practical coding tools for research
  • Focus on “good enough” software practices to improve efficiency
  • Support for Open Science and FAIR software development

.center[ Pyramid image with data science and programming as base, in the middle CodeRefinery providing advanced training, and on top: specialist training ]

Similar efforts: UNIVERSE-HPC, DIGITAL RESEARCH ACADEMY,INTERSECT, SURESOFT and probably many more ...


Collaboration across funding borders

Air traffic control tower Streaming setup during Python for Scientific Computing

~ 10 persons in-kind + volunteers

logo: NeiC

logo: Aalto Scientific Computing

logo: CSC - IT Center for Science

logo: Center for Humanities Computing

logo: Danish e-Infrastructure Consortium

logo: EuroCC National Competence Center Sweden (ENCCS)

logo: National Academic Infrastructure for Super­computing in Sweden (NAISS)

logo: NRIS/Sigma2

logo: NRIS/Sigma2

logo: University of Iceland

logo: Oslo University


We teach practical skills for researchers

.remark[Topics which are .emph[helpful for researchers] and .emph[essential for RSEs].]

  • Git & Version Control – No more lost files or confusion over changes
  • Reproducible Research – Ensure results can be verified and reused
  • Collaborative Coding – Work efficiently with colleagues & open-source communities
  • Efficient Coding Techniques – Write cleaner, modular, and scalable code
  • Documentation & Testing – Make your code understandable and error-free
  • Open Science & FAIR Principles – Share your work for maximum impact

All Lesson materials available under CC BY 4.0 license

.center[ From researcher to researcher who codes to CodeRefinery to Research Software Engineer ]


Our workshops - interactive & hands-on

Graphical representation of the setup of a CodeRefinery workshop with lessons on stream, learners individual, in a team or local classroom and interaction via notes

  • Format: Online and reverse hybrid through local classrooms
  • Hands-on exercises – Not just lectures, but real tool experience
  • Collaborative learning – Learn alongside peers with expert guidance
  • Beginner-friendly – No prior experience with the tools we teach required!

Collaborative document: Markdown

  • Interactive, anonymous, parallel, async
  • New question every 1-2 minutes!
  • ASCII-graph feedback

Screenshot of exercise title and questions in collaborative notes

We publish Q&A for each workshop: Example


Beyond the workshop - community

.center[ The CodeRefinery community in hand drawn pictures: CR workshop teaching, chat, meetings, other teaching ]

  • Networking – Connect with peers and experts.
  • Collaborative projects – Work with others on teaching and outreach.
  • Specialized workshops – Covering High-Performance Computing (HPC) and more.
  • Open learning materials – Use, modify, and contribute!

How you can benefit


.center[ .remark[Joining is easier than organizing alone] ]

✅ Join a workshop as a learner or observer

✅ Bring your team and learn together

✅ Host a local classroom for others to learn together

✅ Use CodeRefinery materials for your own training


How you can contribute



🙌 Teach with us – Become a co-instructor

📝 Contribute to lesson materials – Improve and expand lesson content

💡 Provide feedback – Help us refine teaching and materials

🚀 Share your knowledge – Run your own training events using our materials


Success stories and impact

.remark["Thank you for six great days of learning Git, testing, modular code, Sphinx (!) and more. I already started incorporating Sphinx in my current project."]

.remark["I write my codes now in such a way that the person who will be taking over my job would have less time figuring out what is going on."]


  • Sent out to workshop participants from 2022 and 2023
  • 129 answers

Plot estimating time saving


Plot about whether code is more reusable

Plot about whether collaboration is easier


Plot about whether colleagues have been introduced

How likely are you to recommend?


Get involved!


Next CodeRefinery workshop

.center[ QR code linking to March CodeRefinery workshop page ]




Nordic RSE Conference 2025

.center[ Nordic-RSE logo ]




class: center, middle, inverse

These slides: 10.5281/zenodo.14983966


Credits and license

Text

  • All text: CodeRefinery project, CC-BY 4.0

Images

  • Slide 5: ATC tower, P. R. Miller, CC-BY 2.0
  • Slide 5: Monitor setup, R. Darst
  • Slide 5: Logos, (c) respective organizations
  • Slide 17: Nordic-RSE logo, (c) Nordic-RSE
  • All other images: CodeRefinery project, CC-BY 4.0