BARBOSA, A. A.; http://lattes.cnpq.br/9588814902346410; BARBOSA, Alexandre de Andrade.
Resumo:
The ability to program is one of the fundamental competences in the field of computer science. That knowledge is a building block to the understanding of several other concepts necessary for the academic life as well for the professional activities in that area. However, in spite of such importance, it is quite common to find problems in teaching and learning environments of programming. Many are the factors described as related to the difficulties found in programming disciplines. In such environments, we easily find unmotivated students, whose doubts are not clarified and cannot understand the concepts necessary for programming practice. Traditionally, in programming disciplines, practical coding activities have been adopted. In these activities, the analysis of the solutions proposed by the students in these activities is not simple. Many factors can be observed on the evaluation of a program, what makes the assessment time consuming, subjected to the evaluator’s bias and errors. That way, the professor, even when aided by teacher assistants, generally, will not be able to perform assessments quickly or to streamline the process will not provide detailed feedback. In the present thesis, we investigated the possibility of clustering codes provided as solutions to a programming problem (exercise). The clustering of solutions was proposed with the intention of allowing the reuse of feedbacks in order to minimize the evaluation effort expended in the context teaching and learning of introductory programming. The research was carried out with a survey in order to understand the processes related to the evaluation of codes in introductory programming courses, a quasi experiment and an experiment, with two objectives: (i) investigate if it is possible to cluster codes so that an evaluation is generalized to the elements of the same group cluster; and (ii) to verify whether the generalized evaluation would have results similar to those provided by human evaluators. The results obtained in the evaluation of the suggest approach shows that it is possible to reuse feedbacks so that the evaluation effort expended is minimized. Although, some adjustments are still necessary, it was possible to observe that the concordance obtained between generated grades and those provided by an evaluator, ranged from a reasonable agreement, in the worst case, to a perfect agreement, at best. In addition, many of the generalized textual feedbacks based on the texts provided by the evaluators were indicated as ‘partially applicable’ or ‘fully applicable’ to the evaluated codes.