In each of the three Git areas, we suggest to start by explaining the key concepts and have students practice them afterwards.
Conceptual learning
- Illustrate concepts dynamically, for instance on a whiteboard with magnetic arrows representing branches
- Avoid static slides or pure cli illustrations
- Two-pronged approach: focused and dynamic illustration of key concepts followed by practice sessions in small groups.
- Begins with concept teaching, prioritizing comprehension of fundamental models like the underlying directed acyclic graph (DAG).
- Static slides often fall short in teaching complex, dynamic concepts like Git.
Interactive learning
To facilitate interactive group-based learning, we recommend to create self-contained learning environments
- learngitbranching.js.org
- Exercise for creating changes
- Git collaboration game, using GitHub online editors (without staging area)