GitHub is a cloud service that provides source code repositories, issue tracking system, wikis and other tools used by software developers in the real world.
Students working on course projects or assignments write software and follow a development process similar to that of professionals. Teaching students to use the processes and tools used by professionals has several objectives:
1) students are exposed to an explicit process for developing software that includes version control management, documentation of process, code review by peers, continuous testing.
2) collaboration activities are visible and audit-able, making it possible for instructors and TAs to coach teams as they encounter difficult
3) using state of the art tools simplifies the administrative overhead of instructors, and gives them additional tools to provide better formative feedback to students and to spend more time engaging with students on their work.
Information about GitHub and accessibility: https://government.github.com/accessibility/
It isn’t necessary for students’ use of GitHub be integrated into the LMS. By the time they reach third year, most CS students are familiar with a with variety of cloud services and do not mind managing multiple accounts. Also, it is not expected that grades or summative feedback will reside on this platform. The main purpose for this proposal is to have the University conduct a risk management audit of GitHub in order to ensure it meets our standards.
The computer science courses that teach students about software development practices and software engineering, as well as courses in which students collaborate on large projects. I expect once instructors become more familiar with the opportunities that GitHub offers more courses will be interested in using it.
For the Fall 2016 the following courses have expressed direct interest in using GitHub: CSC207 Software Design, CSC301 Intro to Software Engineering, CSC302 Engineering Large Software Systems, CSC309 Programming on the Web.
I have used public repositories in GitHub to run an open source project for 8 years. More than 160 students have worked on the project using GitHub, and most of those students have participated in the project as part of an independent study course. They use GitHub to create and respond to bug reports and feature requests, to report on work they have completed, to submit their work for review and then respond to requested changes. They also learn technical skills in managing a code base, writing tests, creating branches for side projects, rolling those branches into the master version. As a manager of this project, I can easily see the work that each student has done, provide feedback, and monitor their progress.
I have also seen many students adopt GitHub as a platform for their personal projects, or even sometimes using it on their own as a collaboration tool for team projects in their courses. A growing number of students also use GitHub as a place to display their portfolio of work, and post prior course projects on GitHub where prospective employers can see examples of their work.