useR 2025
What is git and GitHub?
Why do we care about it?
Why should we use it?
student perspective
instructor perspective

Often used interchangeably, but it’s nice to know the difference…
Git is a version control system that intelligently tracks changes in files.
GitHub is a cloud-based platform where you can store, share, and work together with others to write code.
Think of this as email (git) vs Gmail (GitHub)
GitHub allows you to create, store, change, merge, and collaborate on files or code. Any member of a team can access the GitHub repository and see the most recent version in real-time. Then, they can make edits or changes that the other collaborators also see.
GitHub also lets users make requests of one another and internally discuss the iterations along the way.
Source: Baker (2016)
Besides saving the world….
develop good habits as researchers
emphasize the importance of reproducibility in science
get experience using professional computing tools
Efficient way to run a course
lecutres
in-class activities
assessments
Efficient way to run a course
lecutres
in-class activities
assessments
That is timeless across semesters
Encourages time investment into the creation of assessments and lesson plans
Easily transferable across semesters
Hosting assessments on GitHub provides the ability to efficiently manage, update, and re-use materials for subsequent semesters
Efficient way to run a course
lecutres
in-class activities
assessments
especially useful in large class sizes
Within personalized student repos, we can facilitate an interactive lesson for each student + have them practice using version control
Connect GitHub and R/RStudio
Take advantage of GitHub as an instructor to create an assignment in GitHub we can distribute to our class
… often done on the first lab / second day of class
Help create the ability for students to practice with version control
Demo together: Please use your assigned Docker URL to access R/RStudio
We are going to connect GitHub and R/RStudio together using lab instructions below!
Make a free GitHub Organization
Upgrade your organization with GitHub Classroom
Make the assignment
Distribute the assignment
A GitHub organization is a shared account on GitHub that allows multiple users to collaborate on shared projects, making it easier for teams to work together




Slide adapted from Designing the data science classroom by Dr. Çetinkaya-Rundel & Dr. Tackett (2022)
… is a tool provided by GitHub Education to help instructors manage assignments and coursework
Slide adapted from Designing the data science classroom by Dr. Çetinkaya-Rundel & Dr. Tackett (2022)
my-class repository
📂 - slides
📂 - homework
📂 - in-class-activities
… and you can make other repos within the organization to distribute!
Let’s demo
Creating a GitHub repo inside the org
Basic GitHub workflow within a repo
Create an assignment
Distribute it to your class
Click assignment
Or go to our website menu and click Demo GitHub assignment under Demos
Accept the assignment
Clone the repo
Make changes
Push the changes back to GitHub
On the repo page
Click Code
Click SSH
Copy the link to your clipboard
In RStudio
Click File
Click New Project
Click Git
Paste link and create project!
What are you left wondering after this GitHub demonstration?