Method and Tools for Mapping the Evolution of Programmers during the Development of Computer Programs
Douglas Lusa Krug, Jean Marcelo Simão, Laudelino Cordeiro Bastos · 2019
The activity of computer programming is a fundamental element of the software development process. Computer programming is initially taught in courses related to the area of Computer Science in basic subjects named Fundamentals of Programming, Logic of Programming and others. These subjects are considered difficult and present a high amount of withdrawal and failure. Therefore, methods and tools that assist in the teaching-learning process are necessary. This paper reports the proposition of a method and tools for mapping the evolution of programmers during the development of computer programs, which can be used as an aid in the computer programming teaching-learning process. The proposed method with respective tools, guides the collection and data analysis from events generated during computer programming and allows the data collection and consolidation for the instructor/teacher's analysis. Using the method and tools developed it was possible to carry out 5 experiments with students from technical and undergraduate courses in the area of Computer Science and Engineering in 3 different institutions. Based on the data collected in these experiments, it was possible to observe that the number of failed compilations, the average of compilation errors and the total number of compilation errors are related to the grade assigned to the solved exercise, the higher these numbers are, the lower the obtained grade is. Also, regarding the data collected in the experiments, it is possible to group the errors performed by students during the development of the programs, giving the instructor/teacher an individual and group overview regarding their difficulties. In addition, a positive impact was also observed regarding the detailed feedback to the students about the data collected during the program development. This is because in the second data collection, in comparison with the first, it is possible to observe a lower incidence of compilation errors performed during the program development process.