DESIGN OF A COLLABORATIVE LEARNING ENVIRONMENT IN PROGRAMMING SUBJECTS BASED ON SOFTWARE REPOSITORIES
J. Cañadas, A. Becerra-Terón, J. Barón, F. Guil-Reyes, M. Martínez-Durbán
Our experience has focused on improving the teaching-learning process of programming in the Degree in Computer Engineering and Degree in Mathematics, both at University of Almería. Teachers, involved in these processes, generally have figured out difficulties in monitoring and evaluating the student's work using the classic tools provided by universities (i.e. learning management systems), as well as, on some occasions, a lack of homogenization in the teaching methodologies used between different subjects of the same topic (tools, different development environments, etc.). In this sense, our idea has been to propose a common methodology to be implemented in all subjects related to programming in computer science and mathematics studies that has allowed us to carry out a standardized and adequate monitoring and evaluation of the student's teaching-learning process. With this aim, we have created a collaborative learning environment using code repositories, defining specific monitoring methods and tools for the development carried out by the student. Likewise, we have automated the entire materials generation process and provided tools that allow us an evaluation more adjusted to the reality of the context of collaborative software development, both individually and in groups. From this perspective, this integration represents a natural evolution towards a more interactive, collaborative education aligned with current practices in the professional field of software development. Repositories, as knowledge management and collaboration tools, offer multiple advantages that justify their adoption in the educational field, especially in technical disciplines where the creation, modification and continuous improvement of content are crucial. These advantages can translate into significant improvements in skills related to programming students, such as, development of skills related to collaborative learning, development of relevant skills for the professional world, practical experience with repositories prepares students for the challenges of the labor market and increases their employability by aligning their training with standard practices in the industry, development of skills related to self-employment, development of skills related to the availability of educational materials, development of skills related to academic transfers, development of skills related to innovation and creativity, among others.
The question has been, therefore, how to implement this learning environment. In other words, to propose this learning environment based on the use of repositories as a challenge to improve the teaching-learning process. In fact, this challenge has been a great motivation for the teachers involved and all the ideas implemented in the collaborative environment have been very well received. Under this perspective, the use of GitHub repositories has represented a unique opportunity to innovate in the teaching methodology, aligning academic content with the practices and tools widely adopted in the software development industry.
In conclusion, the incorporation of GitHub repositories in the teaching of programming in computer science and mathematics studies is not only an innovative practice, but also an appropriate methodological strategy aligned with the needs and challenges of the professional context where future graduates will develop their professional skills.
Keywords: Teaching computer programming, code repositories, GitHub.