ENCCS is collaborating with the eminent CodeRefinery project, the partly NeIC-funded, partly community-driven project which has been teaching better software development practices to students and researchers all over the Nordics for almost 5 years. This partnership is highly valuable to both organizations – at ENCCS we have adopted many of the innovative and effective teaching methods from CodeRefinery, and to reciprocate we help out with teaching in workshops and also contribute to the CodeRefinery training material.
Earlier this spring we took this collaboration further and organized a joint CodeRefinery/ENCCS software testing event which included a workshop on March 17 and a hackathon on March 24. For the workshop, the CodeRefinery lesson on automated testing (https://coderefinery.github.io/testing/) was significantly expanded in a collaborative effort to include more examples of different software testing approaches, and exercises were added in multiple programming languages to benefit a wide spectrum of computational scientists. The workshop was attended by around 70 enthusiastic researchers eager to improve their software testing skills.
Hackathons provide a unique opportunity for researchers and developers to get a lot of work done in a short period of time, and the software testing hackathon was no exception! No less than 18 projects were accepted – some with solo developers and others with teams of up to 5 people – and distributed between 9 mentors. In the days following the workshop and during the hackathon itself the mentors provided consultancy and hands-on help with implementing tests to ensure correctness and reproducibility of these scientific software packages.
Compared to training workshops, which can be readily scaled up to a hundred online participants, hackathons are limited in size by the time and availability of expert mentors. However, hackathons maximise the benefit for those that can participate (who often accomplish more in a week than they would normally do in months!) and provide an excellent complement to regular workshops. Hackathons on selected topics will become an integral part of the ENCCS training portfolio in the coming years, with an upcoming OpenMP hackathon planned for June (https://enccs.se/events/2021/06/enccsintel-openmp-hackathon/, registration open!) and an AI/GPU hackathon will take place in December.
We also look forward to further developing the collaboration with our friends in CodeRefinery. Next up will be the large online spring workshop starting on May 10, register soon if you’d like a seat! (https://coderefinery.github.io/2021-05-10-workshop/).