21–28 janv. 2026
Fuseau horaire Europe/Paris

Scientific Program

Learning Objectives

By the end of the school, participants will be able to:

  • Recognize the key aspects of software quality — maintainability, reproducibility, performance, and security — and understand their significance in scientific research.
    Describe and apply best practices across the different phases of a software development lifecycle.

  • Set up a professional development environment using modern tools such as an IDE, virtual environments, Git, and effective version control workflows.

  • Develop sustainable Python research software by implementing unit tests, continuous integration (CI), and static code analysis tools.

  • Apply the FAIR principles (Findable, Accessible, Interoperable, Reusable) to research software development and dissemination.

  • Package, document, and publish research software following open-source standards, including Python packaging, containerization (Docker/Singularity), metadata publication, and best practices for sharing code.

Programme Highlights

  • Introduction to FAIR principles for research software

  • Software development and maintenance: IDEs, virtual coding environments, Version control with Git, Unit testing, continuous integration (CI), Introduction to AI coding assistants

  • Software Quality: Tools and techniques to assess, measure, and improve code quality

  • Performance Optimization: Profiling and code optimization strategies

  • Documentation: Best practices for creating effective, user-friendly documentation

  • Publication and Dissemination: Software packaging and distribution, Containerization, Applying metadata standards for research software, Preparing for code sharing and open publication.