Activities to teach version control
A collection of Git open-source resources for educators
What are you going to find here?
- Git Instructor Kit Some activities, representations and useful links to teach Git/GitHub topics.
Welcome!
There are many online materials and tutorials to learn how to use Git. But this is not a course about Git. The idea of this webpage is to compile and share with educators who teach Git and GitHub with a series of tools. In this kit, each sub-topic has associated commands, visual representations, and activities to work with students.
If you have any Git-related activities or materials that you would like to share and have included here, please feel free to submit them to me in accordance with the guidelines outlined in CONTRIBUTING.md.
Why compile this information?
Dealing with abstraction
Git is a complex subject to teach for many reasons. Like other technical topics, understanding how Git commands work involves handling a high level of abstraction. The commands perform actions within hidden folders on our computer and compartments that we cannot easily “see”. In order to effectively teach these topics, if is helpful to keep visual representations in mind in order to help students build mental models. With this in mind, we have put together an array of sections with exercises and associated Git commands that were selected for various stages of student understanding. If you want to learn more about this, I recommend that you read this blogpost.
Dealing with complexity
When teaching Git, there are many sub-topics, commands, and mental models to understand in depth. It becomes essential to create a clear roadmap in order to help students build their understanding from the simplest to the most advanced representations and commands. The goal of this project is to highlight tools to build on that roadmap in ways that help you to meet your learning objectives. It is up to each instructor how to use these blocks of information. This will make it easier to design a customized course, adapt/use the activities associated with each topic, and support students better in your programming courses.
How this information could be useful for an educator?
The goals of this website are:
1 - Compile and organize information for educators that are brave enough to redesign/adapt their classes or propose a new curriculum for the version control lessons.
2 - Suggest a sequence of Git commands, learning objectives, mental models for each learning stage, and activities that help students transition between stages.
Can I learn Git and GitHub from this website?
Well, it was not the original purpose. There are many good tutorials and courses that you can explore for free. For example, The Carpentries course.
You can cite this webpage using the following DOI: https://doi.org/10.5281/zenodo.7604305