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!