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.
- http://www.cvshome.org.Google Scholar
- http://www.eclipse.org.Google Scholar
- Version control with subversion. http://svnbook.red-bean.com/.Google Scholar
- D. A. Holland, A. T. Lim, and M. I. Seltzer. A new instructional operating system. In Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages 111--115. ACM Press, 2002. Google ScholarDigital Library
- A. Hunt and D. Thomas. The Pragmatic Programmer. Addison-Wesley, 1999. Google ScholarDigital Library
- Y. Liu, E. Stroulia, K. Wong, and D. German. Using CVS historical information to understand how students software. In MSR 2004: International Workshop on Mining Software Repositories, 2004.Google Scholar
- S. McConnell. Code Complete. Microsoft Press, 2 edition, 2004.Google Scholar
- K. B. Mierle, S. T. Roweis, and G. V. Wilson. CVS data extraction and analysis: A case study. Technical Report UTML TR 2004-002, University of Toronto, Augu 2004.Google Scholar
- F. Mueller and A. L. Hosking. Penumbra: an Eclipse plugin for introductory programming. In Proceedings of the 2003 OOPSLA workshop on eclipse tec eXchange, pages 65--68. ACM Press, 2003. Google ScholarDigital Library
- J. Spolsky. Joel on Software. APress, 2004. Google ScholarDigital Library
Index Terms
- Learning by doing: introducing version control as a way to manage student assignments
Recommendations
Learning by doing: introducing version control as a way to manage student assignments
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 ...
Git on the cloud in the classroom
SIGCSE '13: Proceeding of the 44th ACM technical symposium on Computer science educationNumerous CS faculty have demonstrated the benefits of using version control in courses other than software engineering. However, they maintained their own servers, and to the best of our knowledge, none published experiences with version control in CS1 ...
Software Projects in an Academic Environment
Software Engineering EducationThe "software hut" is a course project that is used in conjunction with a graduate-level course in software engineering. The purpose of this project is to give the students some "real world" experience with the design and implementation of software. ...
Comments