Interactive Visualization with Git

(Difference between revisions)
Jump to: navigation, search
(Difficulties added)
(Additional Info table filled out)
Line 66: Line 66:
 
{| border="1"
 
{| border="1"
 
|-  
 
|-  
|'''Knowledge Area/Knowledge Unit''' ||
+
|'''Knowledge Area/Knowledge Unit''' || SE - Software Engineering from [[ACM_Body_of_Knowledge]]
 
|-
 
|-
|'''Topic''' ||
+
|'''Topic''' || SE Software Processes, SE Software Project Management, SE Tools and Environments
 
|-
 
|-
|'''Level of Difficulty''' ||
+
|'''Level of Difficulty''' || Medium, as the advanced commands become more difficult to follow
 
|-
 
|-
|'''Estimated Time to Completion''' ||
+
|'''Estimated Time to Completion''' || 1-3 hrs
 
|-
 
|-
|'''Materials/Environment''' ||
+
|'''Materials/Environment''' ||  
 +
* Access to Internet/Web and web browser
 +
* Github account (or any online Git hosting)
 
|-
 
|-
|'''Author''' ||   
+
|'''Author''' ||  Stoney Jackson, Nick Yeates
 
|-
 
|-
 
|'''Source''' || http://pcottle.github.io/learnGitBranching/
 
|'''Source''' || http://pcottle.github.io/learnGitBranching/
Line 89: Line 91:
  
 
--------------------
 
--------------------
This work is licensed under a
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
 
 
[[File:CC_license.png]]
 
  
 
[[Category: Learning_Activity]]
 
[[Category: Learning_Activity]]
 
[[Category:Communication_and_Tools]]
 
[[Category:Communication_and_Tools]]

Revision as of 05:39, 17 July 2015

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.

Background:

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!


Directions:

  • Go to tutorial at: http://pcottle.github.io/learnGitBranching/
  • Complete all activities under the Main tab
  • 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


Deliverables:

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


Assessment:

NA


Comments:

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

  • Students might easily plagiarize or copy of 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 from ACM_Body_of_Knowledge
Topic SE Software Processes, SE Software Project Management, SE Tools and Environments
Level of Difficulty Medium, as the advanced commands become more difficult to follow
Estimated Time to Completion 1-3 hrs
Materials/Environment
  • Access to Internet/Web and web browser
  • Github account (or any online Git hosting)
Author Stoney Jackson, Nick Yeates
Source http://pcottle.github.io/learnGitBranching/
License

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


Suggestions for the Open Source Project:


Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox