scholarly journals FEATURES OF TRAINING OF FUTURE INFORMATICS TEACHERS WORKING WITH THE GIT VERSION CONTROL SYSTEM GIT

Author(s):  
Oleksandr Mosiiuk

Teamwork is the most important soft skill of the modern specialist, not to mention a teacher. It is also undisputed that skills development is very important to start at school, in particular at computer science lessons. Accordingly, a future teacher of computer science has to know version control systems and use one of them to organize collective student's work like in class and in the process of preparing for science competitions of the Junior Academy of Sciences of Ukraine. This topic of the article is relevant because it doesn't fully describe in the scientific and methodological resources. The main goal of this article is to open the main features of teaching students to work with version control systems on the example of Git. The systematic approach was the methodological basis for the investigation discovery. But besides, the researcher analyzed, compared, and summarized the investigation and experience of the leading scientists. As the result of the article the author rise to the following conclusions that the knowledge of version control systems (in particular Git) is an important part of the preparation of computer science teachers; teaching students to work with such programs have to be combined with the study of programming; should be encouraged students to complete labs and case studies using Git; teachers have to demonstrate through examples the correct organization and culture of work with such programs. The writer is also considering using the GitHub Classroom service to organize the educational process subjects such as programming and page making of web pages.

Author(s):  
Yu. A. Protasevich ◽  
O. A. Zmeev ◽  
D. A. Sokolov

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.


Author(s):  
Alok Aggarwal ◽  
Vinay Singh ◽  
Narendra Kumar

Background: Software development is being transitioned from centralized to decentralized version control systems. This transition is driven by the limited features of centralized version control systems in terms of branching, merging, time, space, offline commits & builds, and repository aspects. Transition from Subversion, a centralized version control system, to Git, a decentralized version control system, has been focused in a limited way. Objective: In this work, the transition process from Subversion Version Control System (VCS) to Git VCS has been investigated in terms of time, space, branching, merging, and repository aspects from the software developer point of view working individually or in a large team over a large and complex software having a legacy of many decades. Experimentation was conducted in SRLC Software Research Lab, Chicago, USA. Methods: Various scripts have been developed and executed for version control using Git and performed over a few legacy software. Results: The results show that branching in Git and Subversion has a difference of about 39 times, i.e., branching operation of Git is about 39 times faster than Subversion. Merging in the case of Git is trivial and automatic, while Subversion needs a manual process of merging, which is error-prone. Using an example of Mozilla with FSFS backend, it is observed that disk space can be saved up to 30 times in Git compared to Subversion. By taking a typical example of a large-sized project, it is observed that Git requires almost half of the revisions compared to Subversion; furthermore, with FSFS backend, a project having ten years of history with 240,000 commits needs 240 directories in case of Subversion, while Git requires only 2 directories. Using offline commits and offline builds of Git, it is observed that in Git, whitespace changes, in contrast to significant business logic changes, can be staged in one commit only. These are not possible in Subversion, which requires a complicated system of diffing to temporary files. It is also observed that Git provides an offline commit facility, i.e., in case if, for some reason, the remote repository is unavailable due to disaster or network failure, then developers can still offline commit their code and execute the offline build. Conclusion: However, no previous study was found that focused on how the choice actually affects software developers and this formed the motivation for the present work. In this work, a list of how the choice between Git and Subversion affects software developers is worked out. Although software developers in many aspects are unaffected by the choice, few interesting findings were achieved. One of the most interesting findings of the proposed work is that software developers seem to publish their code to the main repository more often in Git than in Subversion. It is also found that the majority of the software developers perform at least two commits per push, which means that Git repositories will contain a lot more saved points in history than Subversion repositories.


2017 ◽  
Author(s):  
Matti Vuorre ◽  
James P. Curley

Recent calls for improving reproducibility have increased attention to the ways in which researchers curate, share and collaborate on their research assets. In this tutorial paper, we explain how version control systems, such as the popular Git program, address these challenges to reproducibility. We then present a tutorial on how to use Git with a graphical interface in the R Studio program. This tutorial is written for researchers with no previous experience using version control systems, and covers single-user and collaborative workflows. An online supplement provides information on advanced Git command line functions. Git presents an elegant solution to specific challenges to reproducibility, facilitates multi-site collaboration and productivity by allowing multiple collaborators to work on the same source files simultaneously, and can be implemented to common workflows with little extra effort. Git may also offer a suitable solution to transparent data and material sharing through popular online services, such as GitHub and Open Science Framework.


Author(s):  
S. Vitalis ◽  
A. Labetski ◽  
K. Arroyo Ohori ◽  
H. Ledoux ◽  
J. Stoter

<p><strong>Abstract.</strong> A 3D city model should be constantly updated with new versions, either to reflect the changes in its real-world counterpart, or to improve and correct parts of the model. However, the current standards for 3D city models do not support versioning, and existing version control systems do not work well with 3D city models. In this paper, we propose an approach to support versioning of 3D city models based on CityJSON and the concepts behind the Git version control system, including distributed and non-linear workflows. We demonstrate the benefits of our approach in two examples and in our software prototype, which is able to extract a given version of a 3D city model and to display its history.</p>


2018 ◽  
Vol 1 (2) ◽  
pp. 219-236 ◽  
Author(s):  
Matti Vuorre ◽  
James P. Curley

Recent calls for improving reproducibility have increased attention to the ways in which researchers curate, share, and collaborate on their research assets. In this Tutorial, we explain how version control systems, such as the popular Git program, support these functions and then show how to use Git with a graphical interface in the RStudio program. This Tutorial is written for researchers with no previous experience using version control systems and covers both single-user and collaborative workflows. The online Supplemental Material provides information on advanced Git command-line functions. Git presents an elegant solution to specific challenges to curating, sharing, and collaborating on research assets and can be implemented in common workflows with little extra effort.


2020 ◽  
Vol 10 (4) ◽  
pp. 1492 ◽  
Author(s):  
Ángel Manuel Guerrero-Higueras ◽  
Camino Fernández Llamas ◽  
Lidia Sánchez González ◽  
Alexis Gutierrez Fernández ◽  
Gonzalo Esteban Costales ◽  
...  

Version control systems’ usage is a highly demanded skill in information and communication technology professionals. Thus, their usage should be encouraged by educational institutions. This work demonstrates that it is possible to assess if a student can pass a computer science-related subject by monitoring its interaction with a version control system. This paper proposes a methodology that compares the performance of several machine learning models so as to select the appropriate predicting model for the assessment of the students’ achievements. To fit predicting models, three subjects of the Degree in Computer Science at the University of León are considered to obtain the dataset: computer organization, computer programming, and operating systems extension. The common aspect of these subjects is their assignments, which are based on developing one or several programs with programming languages such as C or Java. To monitor the practical assignments and individual performance, a Git repository is employed allowing students to store source code, documentation, and supporting control versions. According to the presented experience, there is a huge correlation between the level of interaction for each student and the achieved grades.


Sign in / Sign up

Export Citation Format

Share Document