Understanding Git and GitHub

Derrick Mcmillen
FX Palo Alto Laboratory
2017

At FX Palo Alto Laboratory, research projects are shared among researchers using the Git and GitHub collaboration tools. GitHub and Git are essential technologies for sharing coding with other programmers. In general the collaborative tools include, peer review, annotation, dialogue and discussion, content discussion, solution sharing, activity creation, and making links. More specifically, the GitHub learning curve includes merges and tracking of code changes among multiple developers, dealing with branching and forking alternatives, merging and pull requests, issues and comments, as well as openness and transparency. These tools enable collaboration by allowing programmers to develop code independently then merge their work into a common code base. Students must be able to operate these tools to be effective programmers in the modern workforce. More than the vocational aspects of learning to use an industry standard technical tool, this type of technical learning is an example of where CS and distributed version control technologies afford students a unique opportunity to develop the “soft skills” of team building and collaboration. By learning to work collaboratively in a software environment, GitHub promises to disrupt the often unidirectional (teacher to student) learning experience of high school, by having students focus on how to contribute to each other’s work, how to set up their own work so that it is accessible and intelligible to collaborating peers, and how to gain individual knowledge by and through interactions with others. Students will discover the necessity for these tools and through a series of successive learning activities, gain awareness, and facility in using these tools to overcome daily intricate collaboration issues.

Funders

FX Palo Alto Laboratory