Tools for organizing teachers-students interaction using version control systems
https://doi.org/10.32517/0234-0453-2021-36-4-36-46
Abstract
The article describes an approach to organizing the teacher-students interaction in programming courses using the Git version control system. In order to select the most suitable and affordable system for educational needs a comparative analysis of different Git repository management systems was carried out. Based on the experience of various educational institutions that use version control systems in their courses, the advantages and disadvantages of using these systems in teaching were identified. Taking into account the existing problems, a software solution was developed based on the GitLab system. As part of this solution, a method is proposed for organizing the work of a teacher and students in disciplines that use version control systems. This approach implies using both GitLab and additional system, which serves as a manager for Git repositories and is designed to facilitate the work of the teacher and administrator by automating the tasks they perform. The main purpose of the article is a detailed description of this approach: limiting permissions to both teachers and students, GitLab organization and functionality, a list of use cases for each user. The article also presents common workflows of the additional system, its main entities and their relationships and an overview of the features that the system provides.
About the Authors
Yu. A. ProtasevichRussian Federation
Yuliya A. Protasevich, a master student at the Software Engineering Department, Institute of Applied Mathematics and Computer Science.
634050, Tomsk, prospekt Lenina, 36
O. A. Zmeev
Russian Federation
Oleg A. Zmeev, Doctor of Sciences (Physics and Mathematics), Professor, Professor at the Software Engineering Department, Institute of Applied Mathematics and Computer Science.
634050, Tomsk, prospekt Lenina, 36
D. A. Sokolov
Russian Federation
Danila A. Sokolov, Head of the Digital Solutions Department.
634050, Tomsk, prospekt Lenina, 36
References
1. Alekseevsky P. I. Primenenie sredstv upravleniya versiyami dlya kollektivnoj raboty studentov nad proektom komp’yuternoj igry [Using version control systems for students’ collaborative work on the computer game development]. Pedagogicheskoe obrazovanie v Rossii — Pedagogical Education in Russia, 2012, no. 6, p. 51-54. (In Russian.) Available at: http://journals.uspu.ru/attachments/article/307/Педагогическое%20образование_6_2012_ст.%2009.pdf
2. git. Available at: https://git-scm.com
3. Chacon S., Straub B. Pro Git. NYC, Apress, 2014. 440 p. Available at: https://git-scm.com/book/en/v2
4. GitHub. Available at: https://github.com
5. GitLab. Available at: https://about.gitlab.com
6. Bitbucket. Available at: https://bitbucket.org
7. Omnibus GitLab Docs. Available at: https://docs.gitlab.com/omnibus/
8. Kelleher J. Employing git in the classroom. 2014 World Congress on Computer Applications and Information Systems (WCCAIS). IEEE, 2014, p. 1-4. DOI: 10.1109/WC-CAIS.2014.6916568
9. Feliciano J., Storey M.-A., Zagalsky A. Student experiences using GitHub in software engineering courses: a case study. ICSE ‘16: Proc. 38th Int. Conf. on Software Engineering Companion. IEEE, 2016, p. 422-431. DOI: 10.1145/2889160.2889195
10. Binas M. Version Control System in CS1 course: Practical experience. 2013 IEEE 11th Int. Conf. on Emerging eLearning Technologies and Applications (ICETA). IEEE, 2013, p. 23-28. DOI: 10.1109/ICETA.2013.6674398
11. Francese R., Gravino C., Risi M., Scanniello G. On the experience of using Git-Hub in the context of an academic course for the development of apps for smart devices. The lavrskaya rabota po napravleniyu podgotovki: 09.03.04 — Programmnaya inzheneriya [Development of a system for automating the management of Git repositories based on the GitLab system for use in the learning process: graduate bachelor’s work in the field of training: 03/09/04 — Software engineering]. Tomsk, 2019. (In Russian.) Available at: http://vital.lib.tsu.ru/vital/access/manager/Repository/vital:908921st Int. Conf. on Distributed Multimedia Systems. 2015, p. 292-299.
12. Reid K. L., Wilson G. V. Learning by doing: Introducing version control as a way to manage student assignments. SIGCSE ‘05: Proc. 36th ACM technical symposium on Computer science education. ACM, 2005, p. 272-276.
13. Lawrance J., Jung S., Wiseman C. Git on the cloud in the classroom. SIGCSE ‘13: Proc. 44th ACM technical symposium on Computer science education. ACM, 2013, p. 639-644. DOI: 10.1145/2445196.2445386
14. Clifton C., Kaczmarczyk L. C., Mrozek M. Subverting the fundamentals sequence: using version control to enhance course management. ACM SIGCSE Bulletin, 2007, vol. 39, is. 1, p. 86-90. DOI: 10.1145/1227504.1227344
15. Zagalsky A., Feliciano J., Storey M.-A., Zhao Y., Wang W. The emergence of GitHub as a collaborative platform for education. CSCW ‘15: Proc. 18th ACM Conf. on Computer Supported Cooperative Work & Social Computing. ACM, 2015, p. 1906-1917. DOI: 10.1145/2675133.2675284
16. Valdivia R. G. B. Collaborative learning using git with GitLab in students of the engineering programming course. Proc. of the Int. Congress on Educational and Technology in Sciences. 2019, p. 92-101. Available at: http://ceur-ws.org/Vol-2555/paper8.pdf
17. Sidyakin I. M. Primenenie sistemy kontrolya versij GitLab dlya obucheniya programmirovaniyu [Using the Git-Lab version control system to teach programming]. Nauka i obrazovanie: nauchnoe izdanie MGTU im. N.EH. Baumana — Science & Education: Scientific Edition of Bauman MSTU, 2016, no. 10, p. 168-179. (In Russian.) Available at: http://technomag.edu.ru/doc/848154.html
18. Protasevich Yu. A. Razrabotka sistemy dlya avtomatizatsii upravleniya Git-repozitoriyami na baze sistemy GitLab dlya ispol’zovaniya v protsesse obucheniya: vypusknaya baka-
19. API Docs GitLab. Available at: https://docs.gitlab.com/ee/api/
20. libgit2sharp. Available at: https://github.com/lib-git2/libgit2sharp
Review
For citations:
Protasevich Yu.A., Zmeev O.A., Sokolov D.A. Tools for organizing teachers-students interaction using version control systems. Informatics and education. 2021;(4):36-46. (In Russ.) https://doi.org/10.32517/0234-0453-2021-36-4-36-46