scieee AI-readable full text Open interactive document viewer

Carpentries Lesson on Intermediate Research Software Development

Bluteau, Matthew; Nenadic, Aleksandra; Crouch, Stephen; Lowe, Douglas; van der Burg, Sven

Abstract

The Intermediate Research Software Development Course is now at the beta stage in the Carpentries Incubator. Along the path of its maturity, many pilot sessions have been conducted, asynchronous contributions made, and lessons learned as a result. A brief summary of the current status of the course will be displayed, including topics like successful delivery styles that have been used, alternate tooling options such as the popular VS Code IDE, and recent changes to the course content on software design and architecture. As course maintainers, we are always looking for new contributors, so a primary aim of this poster is to raise awareness of the course and its current status. Consequently, we will attract more interest from the RSE community to build a wider platform of support and increase uptake. To facilitate this, we will signpost routes and resources that new contributors can use to get involved.

Full text

The UK Atomic Energy Authority’s mission is to lead the delivery of sustainable fusion energy and maximise scientific and economic benefit Find out more www.gov.uk/ukaea Intermediate Research Software Development Lesson Matthew Bluteau*,1, Aleksandra Nenadic2, Stephen Crouch2, Doug Lowe3, and contributors4 Separate Exercises + Slides Extra requirements compared to SWC courses: the learner exercises need to be in a separate Git repo, and some instructors use a slide deck. What are the best strategies for dependency management between course content and separate learner exercises and slides? Originally, the course only used the PyCharm IDE with a separate section on how to use VS Code. Work is now underway to fully integrate VS Code into the course text, giving learners the choice between the two IDEs. Delivery Styles Instructor-led Independent Study Groups PyCharm and the PyCharm logo are registered trademarks of JetBrains s.r.o. Visual Studio Code, VS Code, and the Visual Studio Code icon are trademarks of Microsoft Corporation. All rights reserved. Software Architecture and Design Moved from top-down, theoretical approach to a bottom-up, refactoring approach. Identify a problem Refactor Theory Theory Toy example Exercise Before After Introduction ● Objective: teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment ● Audience: people working in research environments who have learned basic coding skills that are no longer sufficient for managing their software projects (competent practitioners) ● Topics: collaborative code development with Git, IDEs, code style, automated testing, continuous integration, requirements engineering, software design & architecture, reproducible code distribution, managing tasks on software projects [1] “2025 Stack Overflow Developer Survey.” [2] “Python Developers Survey 2024 Results.” 1 UK Atomic Energy Authority 2 Software Sustainability Institute 3 Research IT, University of Manchester 4 See citation file on GitHub repository * Corresponding author, matthew[email protected] Tooling All Devs [1] Python Devs [2] PyCharm 15% 25% VS Code 75.9% 48% Microsoft Corporation ® Copyright © 2024 JetBrains s.r.o. Licensed under CC BY 4.0 How to Contribute? Contributing guide Run the course Raise an issue And let us know!