Collaborative Coding for Scientific Research:
Git, GitHub, and open science
Collaborative Coding for Scientific Research:
Git, GitHub, and open science
Last edited: 2024-04-16
Chapter 1 Introduction
1.1 Abstract
This book is designed as a guide to open/team science projects on GitHub. This is not an introduction to git but a follow-on to such an introduction. While there are many introductory tutorials on git commands and such out there (see the Software Carpentries git workshop for a great example), we have found that there is a lack of information on the “culture” of open science using git/GitHub.
People discover others’ code/projects, but don’t quite understand how they are organized or how to bring up and problems they’ve encountered or suggested changes that they have. This workshop is designed to empower attendees to actively participate in and engage with the open science community by teaching the often overlooked norms and procedures for understanding and working with others’ code projects.
1.2 Learning objectives
By completing this workshop, participants will be able to:
- Engage with the owners/maintainers and the broader coding community to identify and participate in discussion of issues
- Explore and understand the organization of a research project or package (Anatomy of well-organized GitHub repositories)
- Use others’ code in your own workflows
1.3 Prerequisites
- Coding: Be comfortable with coding in a language like R and/or Python. In other words: You should be familiar with reading/writing and basic wrangling of files or dataframes.
- Git: Have used Git to track changes in your code, OR have completed the introduction to the “git” distributed version control system on the Software Carpentries website, and understand the terms: git add/staging, commits, commit message, git history, git remote, push, pull.
- GitHub: Have at least minimal experience with github and ideally have a project with some of your code there. In other words: If you have no experience with Github, then, prior to the workshop using resources below, please create an account and attempt to push/pull changes to it. If you have attended a previous workshop covering these tasks, then that is sufficient.
- Open Science: Desire to become more of an active participant in the open science community. In other words: Be curious about using others’ code and writing code that others can use.
1.4 License
This work is licensed under Attribution-ShareAlike 4.0 International