Content
In today’s digital age, the majority of scientific insights in research are gained from the analysis of data using programming code. Although data and code are integral parts of their work, scientists often handle digital objects on their computers in a somewhat chaotic, unreliable, and irreproducible manner. It’s not uncommon to hear researchers wondering, “Which version of my data and code did I use to get this result?” or “I found a bug in my code. Since when was it there?” and “This code used to work! What did I change?”. This not only affects the reproducibility and trustworthiness of science but also frequently leads to frustration, a waste of time, and, at worst, the loss of painstakingly accumulated work. The good news is that scientists can learn about practices and tools from other disciplines, particularly software engineering, that have significantly professionalized collaborative work on digital objects like programming code. At the core of this toolkit is the free and open-source software Git, a so-called version control system that allows tracking and organizing the evolution of digital objects on computers and sharing them via platforms like GitHub. In this hands-on course with practical exercises, participants will learn how to track, organize and share their work using Git.