Interactive Visualization with Git

From Foss2Serve
Revision as of 22:31, 2 March 2016 by Emily.lovell (Talk | contribs)
Jump to: navigation, search
Title Visual Git Game #1
Overview Students learn from an interactive visual git simulator / game. This activity focuses on LOCAL Git functionality (such as that on your laptop, NOT remote internet-based code repositories).

See Git_Activity_4 for the next in the series.

Prerequisite Knowledge Git_Activity and Git_Activity_2 or an introductory understanding of what SCM is about, and basic git commands.
Learning Objectives Students will be able to ...
  • Create a branch.
  • Checkout a branch.
  • Create a tag.
  • Checkout a tag.
  • Merge a branch into another.
  • Rebase a branch onto another.
  • Cherry-pick commits.
  • Use relative commit references to refer to commits.
  • Move branches to a different commit.
  • Detach and move around HEAD.
  • Explain the difference between a branch, a tag, and HEAD.


Is there background reading material?

What is the rational for this activity?

  • Getting familiar with git from the command line is not easy. This activity makes it a game!



  • Take screenshots of your solutions, AS YOU GO through each section
    • 15 sections in all, so 15 screenshots
  • Init, commit, and then create a remote repo (on github or elsewhere online) of your screenshots
    • REMINDER: reuse of open source code is encouraged; submission of someone else's answers is academic plagiarism and will be enforced


  • Send URL / link of remote internet-accessible repository to instructor.
  • 15 Screenshots of the solutions of each section, with commits


Criteria Partial Credit Complete Credit
Screenshots Bad file naming, difficult directory structure, or less than 15 screenshot files Easy to view files, no weird naming, all 15 screenshots
Solutions Not all solutions given, or some solutions are not optimal (hard to tell from screenshot though) All solutions given and most are optimal (sometimes optimality is not necessary for completion)


What are some likely difficulties that an instructor may encounter using this activity?

  • Students might easily plagiarize or copy each others screenshots to the solutions.
  • To fight this, a REMINDER has been added in the directions.
  • Teachers might also mentioned it in-class and spot-check for it in grading.

Additional Information:

Knowledge Area/Knowledge Unit SE - Software Engineering / SE Tools and Environments from ACM_Body_of_Knowledge
Topic Software configuration management and version control
Level of Difficulty Medium, as the advanced commands become more difficult to follow
Estimated Time to Completion 2-4 hrs
  • Access to Internet/Web and web browser
  • Github account (or any online Git hosting)
Author Stoney Jackson, Nick Yeates

The MIT License (MIT) Copyright (c) 2012 Peter Cottle

Suggestions to Open Source Mentors:

Suggestions for an open source community member who is working in conjunction with the instructor.

  • Mentors might show what websites and resources (Stackoverflow, IRC, etc) they often utilize when they are stuck or something unexpected happens upon committing or branching.
    • What troubleshooting steps do they use in their head?
    • Do they chat or talk to fellow project-members or work colleagues?

Personal tools
Learning Resources
HFOSS Projects