DIGITAL LIBRARY
THE APPLICATION OF COLLABORATIVE DEVELOPMENT ENVIRONMENTS IN PROGRAMMING EDUCATION - AN EXPERIENCE REPORT
Fulda - University of Applied Sciences (GERMANY)
About this paper:
Appears in: EDULEARN21 Proceedings
Publication year: 2021
Pages: 2328-2336
ISBN: 978-84-09-31267-2
ISSN: 2340-1117
doi: 10.21125/edulearn.2021.0517
Conference name: 13th International Conference on Education and New Learning Technologies
Dates: 5-6 July, 2021
Location: Online Conference
Abstract:
Programming education at universities is nowadays supported by means of highly specialized Learning Management Systems (LMSs). Thereby, a variety of functions is offered, enabling the management of courses and assignments. However, students are generally faced with the fact that experience with an LMS becomes useless as they graduate. So why not integrate a comparable system into programming training and other CS courses? Collaborative Development Environments (CDEs) such as GitHub may constitute an answer to this question, as they are used by almost every software development company. They offer, among other functionalities, various features, such as a Version Control System (VCS). Furthermore, the entire software life cycle can be supported, including Continuous Integration (CI)/Continuous Delivery (CD). The only challenge related to CDEs is due to their designed purpose, which does not match the functions demanded within teaching and learning contexts. This experience report shows how to overcome these challenges by integrating a self-hosted CDE into a university environment so that it can be used as part of a programming course. For that reason, the following complements were developed: an extension to perform semi-automated course and user management, a feedback function for assignments, a secure rating mechanism and multiple features to address the requirements of university context. The report concludes with the results of an evaluative survey along with data from system monitoring records.
Keywords:
Programming education, collaborative development environment, GitLab, learning management system, higher education.