The CodeRefinery project
- Objectives
- CodeRefinery and The Carpentries
- Core Activities
- Infrastructure services
- Training opportunities
Objectives
We are working with students, researchers, and research software engineers from all disciplines to advance software development and management practices, so that research groups can collaboratively develop, test, review and discuss their source code, with the aim of making it shareable and reusable, thus following the FAIR principles.
Through our spin-off project Nordic-RSE, we serve as a hub for research software engineers in the Nordic countries, namely in Iceland, Denmark, Norway, Sweden, Finland and Estonia.
From 2016-10-01 to 2021-10-31, CodeRefinery received funding from NeIC and delivered a large number of face to face and online workshops to the Nordic Community. After that point, we are a community project seeking volunteers to sustain what we have accomplished in the first five years.
CodeRefinery and The Carpentries
We are in the same galaxy as the Carpentries organization and closely work with them. We run our workshops in a slightly different way, but our general philosophy, lesson material, and procedures are very similar. Our target audience is learners who already have some experience with programming and would like to develop software in a more efficient and sustainable way. We believe that for many learners we can offer a good second step after their Carpentries workshop.
Core Activities
-
We provide a code repository hosting service that is open and free for all researchers based in national universities and research institutes from Nordic countries.
-
We develop and maintain training material on software best practices for researchers that already write code. Our material addresses all academic disciplines and tries to be as programming language-independent as possible.
-
We offer training opportunities:
- CodeRefinery workshops to grow researchers' software best practices skills. These workshops aim at consolidating knowledge learnt during Carpentries workshops and focus on teaching professional tools for efficiently developing and maintaining research software. In-person workshops are typically 3 days, while online workshops are typically 6 half days over 2 weeks.
- Other workshops, organized by partner institutions using CodeRefinery principles, advertised to others on a reciprocal basis.
- Instructor training workshops to learn to organise and teach CodeRefinery workshops. Our train the trainer program aims at building partnerships with Research Software Engineers and researchers who are willing to lead skills' transfer within their local communities in the Nordics.
Infrastructure services
Our code repository hosting service is open and free for all researchers based in Nordic universities and research institutes. Please contact us if you would like to use these services.
Training opportunities
We offer training opportunities to researchers from Nordic research groups and projects to learn basic-to-advanced research computing skills and become confident in using state-of-the-art tools and practices from modern collaborative software engineering.
CodeRefinery Workshops
The key objective of CodeRefinery workshop is to grow researchers' software best practices skills to facilitate open and reproducible research.
-
In-person workshops - We offer three-day workshops that focus on methods to build modular, reusable, maintainable, sustainable, reproducible, testable, and robust software. These workshops are based on training material we develop and maintain.
-
Online workshops - Since April 2020, we offer both "full-package" workshops by 6 half-days over 2 weeks with the same contents as 2-day in-person workshop (training material) and shorter workshops focusing on one or a limited number of lessons.
-
Requesting a workshop - Would you like to host a CodeRefinery workshop at your home institution? Get in touch if this sounds interesting! Note that even though CodeRefinery is a Nordic project, we are interested in giving workshops also outside the Nordics and are able to do so provided that funding for travel and accommodation can be covered.
-
Information for local organizers - We have prepared a list of practical requirements.
-
Level of CodeRefinery workshops - For CodeRefinery workshop, it is assumed that participants already write code for their research but no expertise is required. Some experience in navigating the file tree and editing files in a terminal session is recommended. Our workshops are attended by MSc and PhD students, postdocs, researchers and more senior staff from a wide range of scientific backgrounds and with different programming experiences.
Instructor training workshops
One purpose of our Instructor training workshops is to train CodeRefinery instructors, but being (or becoming) a CodeRefinery instructor is not required. With the workshops we also aim at building partnerships with research software engineers and researchers who are willing to lead skills' transfer within their local communities in the Nordics.
Instructor training workshops take 2 days and cover this lesson material.
- Level of Instructor training workshops - Learners should have some familiarity with good software development practices, especially in the context of scientific software, and be interested in sharing knowledge and teaching.
Other types of events
We have organized hackathons, get-together events and shorter workshops customized for individual research groups. Regularly we also host online Open House events where CodeRefinery instructors together with a wider community of interested people work in sprints on topics ranging from lesson development to website updates.
We're always interested in new collaborations, so if you would like to co-organize an event with us or suggest a new type of event, don't hesitate to get in touch!