Objectif du cours
This is an MVA course about writing a reproducible edition of a scientific work. It could be considered
the practical follow up of the MVA course Fondamentaux de la recherche reproductible et du
logiciel libre, although both courses are independent.
It consists on a tutored project which includes reading in detail a scientific article, the implementation
of the method, publication of a complete scientific report associated to the source code, and the
creation of an online demonstrator in the IPOL journal system.
Each year all MVA lecturers will be invited to propose articles which deserve a reproducible edition.
These projects might be co-supervised by researchers from Centre Borelli or other research centers.
Organisation des séances
The course is made of 8 sessions of 3h hours each. The sessions are mainly practical, for the students
to work on their projects. Some of the session will be preceded by a short master class on the topics of the course.
Mode de validation
Each group must deliver a reproducible article as a complete IPOL pre-print including the article
itself, the source code, and an online demo. Also, an evaluation report of the project of a different
group. This allows to put the students in both the author and reviewer roles.
Final evaluation score: the final reproducible project (80%), the intermediate TPs (20%).
The course is mainly practical, but it will complemented with the following short introductory topics:
Writing a reproducible scientific article. Structure of a reproducible article: introduction
with the main ideas, method and architecture, data used in the experiments and results, training
and inference (in the case of neural-network methods), experiments, limitations, and conclusion.
Granularity of the mathematical and algorithmic details. Matching the implementation with the
pseudo-codes. Scientific writing and style.
Group activity: analysis of articles in the literature with examples of good and bad practices. Presentation of the article and group discussion.
Tools for Reproducible Research. Online execution platforms, dissemination platforms, peerreviewed
journals. Sharing code with git, and basic use of platforms such as GitHub or GitLab.
Writing scientific texts with LaTeX, and teamwork with git or tools such as Overleaf. Agile methods
for teamwork, and using Trello or similar tools to organize the work. Good practices for collaborative
Good coding practices for reproducible research projects Pseudo-random number generators.
Fixing the seed for reproducibility. Choice of libraries. Assertion of invariants in the code
to early detect bugs in scientific code. Granularity of functions and classes. What about neuronal
networks? Algorithm, architecture, weights, and input/output data. How to comment the code.
These short sessions are intended to provide the basic knowledge to successfully accomplish the
implementation and publication of a reproducible method. The core of the course is writing a fully
reproducible article, and the students will be evaluated on the delivered project and intermediate
TPs (travail pratique).
Miguel COLOM BARCO