For the communities working on theoretical and observational cosmology, especially on the CMB and Large Scale Structures, Einstein-Bolztmann solvers are essential tools. However, due to their complexity, they can be slightly intimidating – especially when it comes to the most interesting tasks of modifying them, implementing new physics, adding new observables, or including effects at second order in perturbation theory.
CLASS1 (by J. Lesgourgues & T. Tram) is one of the best known public Einstein-Bolztmann solvers used worldwide. It is meant to be friendly and flexible enough for serving as a starting point to any kind of extension and modification. It is written in plain C, and wrapped with C++ and python. It has been thoroughly tested since its release in 2011, and it is still undergoing significant developments in the directions of new physics, more modern algorithms and new applications. The public code SONG2 (by Fidler & Pettinari) is the extension of CLASS to the (considerably richer) level of second-order perturbation theory. Despite existing on-line material (courses, documentation, exercises), reaching the level of advanced user or developer for these codes remains a significant investment of time. The goal of this workshop is to provide a solid introduction that will speed up the mastering of the codes by the participants.