Pushing Git & GitHub in undergraduate computer science classes
Esmail Bonakdarian · Journal of computing sciences in colleges · 2017
The ability to use version control is a valuable skill for computer science graduates to possess. This paper describes our experience introducing undergraduate computer science students to the widely used distributed version control system Git in conjunction with GitHub as part of an existing class. The class need not to be built around Git/GitHub; it is possible to introduce each of our four instructional components in sequence at any time they fit. Placing them earlier in the course schedule will give students the benefit of being able to use these tools throughout their class. We choose to focus on the use of the Git command line since this provided a consistent interface across all major platforms and therefore yielded the best return for time invested learning the software, while also offering greater flexibility and power to the user. A few of our students had some previous experience working with the Windows command line, while others were new to it, far fewer knew about version control. We describe the structure of our approach along with some of the instructional resources made available to the class which we believe provided an effective and flexible way to introduce students to these tools. We conclude by outlining successes and challenges encountered with our methods, what we've learned, and what might change for the next iteration of this approach.