Learning by doing: introducing version control as a way to manage student assignments

  • Authors:
  • Karen L. Reid;Gregory V. Wilson

  • Affiliations:
  • University of Toronto, Toronto, Ontario;University of Toronto, Toronto, Ontario

  • Venue:
  • Proceedings of the 36th SIGCSE technical symposium on Computer science education
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Professional software developers use version control systems to coordinate their work, and to provide an unwindable history of their project's evolution. In contrast, students in most programming courses use a homegrown electronic submission program to submit their work, and email to coordinate with partners when doing team projects. In May 2003, we began using CVS, a popular open source version control system, as an assignment submission system. Students receive starter code by checking out the assignment, use the version control system to manage their work, and submit their assignment by committing it to CVS. Teaching assistants grade assignments by checking out each student's repository, and committing the marks. Our experience to date shows that this is both a simpler and a more flexible way to manage student assignments, and also an excellent way to teach them how to use a fundamental software development tool.