Topic

Software Design & Engineering Practices

Designing and structuring software well: modularity, architecture, and general software engineering practice.

Related standard: RSE Competencies (F1000Research)

Intermediate10h 5m

course

Contributor, Maintainer

Building Better Research Software

This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research. The course can be delivered over 2 full or 4 half days.

Updated 2mo ago
Intermediate

workshop

Contributor, Maintainer

Effective Code Review

This lesson teaches best practices for conducting and participating in code reviews, emphasizing clear communication and collaborative problem solving.

Updated 2mo ago
Intermediate17h 15m

course

Contributor, Maintainer

Intermediate Research Software Development

This course aims to 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 using Python as an example programming language (see detailed learning objectives below).

Updated 2mo ago
Intermediate

workshop

Contributor, Maintainer

Modular Programming with Python

This lesson covers modular programming in Python, explaining how to write reusable code in modules, organize codebases, and test them to improve collaboration and maintainability.

Updated 4mo ago