Misconceptions in correct code : assisting instructors and students by shedding light on what is potentially overshadowed by automated correction
Eryck Pedro da Silva
TESE
Inglês
T/UNICAMP Si38m
[Problemas de compreensão em códigos corretos]
Campinas, SP : [s.n.], 2024.
1 recurso online (197 p.) : il., digital, arquivo PDF.
Orientadores: Rodolfo Jardim de Azevedo, Ricardo Edgard Caceffo
Tese (doutorado) - Universidade Estadual de Campinas (UNICAMP), Instituto de Computação
Resumo: Um dos desafios do ensino-aprendizagem de introdução à programação em universidades (CS1) é a elaboração de feedback adequado aos estudantes: um elevado número de alunos por turma gera dificuldades ou mesmo inviabiliza a interação individual entre instrutor e discente. Nesse cenário, a...
Ver mais
Resumo: Um dos desafios do ensino-aprendizagem de introdução à programação em universidades (CS1) é a elaboração de feedback adequado aos estudantes: um elevado número de alunos por turma gera dificuldades ou mesmo inviabiliza a interação individual entre instrutor e discente. Nesse cenário, a geração de feedback costuma ser realizada por meio de sistemas de avaliação automática de código. No entanto, como essas ferramentas costumam apenas verificar se o código está correto, outras características presentes podem ser ignoradas. Nesta tese, foram identificados Problemas de Compreensão em Códigos Corretos (PC³), que são comportamentos que potencialmente indicam compreensões incompletas ou erradas sobre os conceitos de CS1. Ao todo, 45 PC³ foram identificados ao analisar manualmente 2,441 códigos de alunos em uma turma de introdução à programação em Python lecionada no paradigma estruturado. A validação inicial dos PC³ foi realizada por meio de consulta docente e discente, com o objetivo de identificar as potenciais causas dos alunos cometerem esses comportamentos. A consulta com os docentes também permitiu listar 15 PC³ considerados como mais graves, ou seja, que possuem maior prioridade de correção em sala de aula. Com foco da tese redirecionado para esses PC³ mais graves, foram construídos artefatos educacionais para auxiliar o ensino e a aprendizagem de CS1 com respeito a esses comportamentos: uma ferramenta de detecção automática e a elaboração de materiais didáticos que abordam a explicação do porquê esses PC³ devem ser evitados. A ferramenta de detecção automática foi utilizada em um estudo em larga escala para avaliar a frequência dos PC³ mais graves ao longo de oito semestres letivos de uma disciplina de CS1, totalizando mais de 40.000 submissões. Os resultados obtidos demonstram que os PC³ mais graves ocorrem continuamente ao longo de um semestre letivo, não aparentando serem corrigidos por conta própria dos alunos. Oito desses PC³ mais graves englobam tópicos sobre comandos de decisão e de repetição, assuntos cruciais em CS1. O restante denota uma despreocupação discente em manter organização e legibilidade dos códigos. Os materiais educacionais foram avaliados em um estudo de caso com 23 discentes de uma turma de CS1. Os resultados obtidos sugerem que a instrução, dentro ou fora de sala de aula, tem o poder de influenciar tanto a ocorrência como a correção de PC³. No entanto, somente a aplicação de materiais não aparenta ser suficiente para mitigar PC³, pois o ambiente educacional precisa reforçar, em mais aspectos, a necessidade dos discentes evitarem esses comportamentos. Esta tese propõe que docentes e discentes de disciplinas de introdução à programação atentem-se para a verificação dos PC³ além da corretude dos códigos, pois os resultados sugerem que os alunos obtêm aprovação nessas disciplinas, podendo atingir a nota máxima, mas ainda assim carregar uma compreensão incompleta ou errada dos conceitos aprendidos
Ver menos
Abstract: One of the challenges with respect to teaching and learning undergraduate introductory programming courses (CS1) is developing appropriate feedback for students. This challenge is especially seen in classes with a high number of students, as this situation significantly hinders the...
Ver mais
Abstract: One of the challenges with respect to teaching and learning undergraduate introductory programming courses (CS1) is developing appropriate feedback for students. This challenge is especially seen in classes with a high number of students, as this situation significantly hinders the individual interaction between the instructor and the student. In this context, feedback generation is usually carried out through automatic code evaluation systems. However, since these tools generally check only whether the code is correct, other features present in the code may be ignored. This thesis identified Misconceptions in Correct Code (MC³), coding behaviors present in novice programmers’ code that potentially indicate incomplete or incorrect understanding of CS1 concepts. In total, 45 MC³ were identified by manually analyzing 2,441 student codes from a Python CS1 course taught within the structured programming paradigm. The initial validation of MC³ was conducted by consulting both CS1 teachers and students, to identify potential causes of why students develop these coding behaviors. Consulting with CS1 teachers also allowed listing 15 most severe MC³, i.e., those with a greater correction priority in the classroom. Shifting the thesis focus to these most severe MC³, educational artifacts were constructed to assist in CS1 teaching and learning with respect to these behaviors: a tool for automated detection and elaboration of didactic materials that explains about these MC³ and informs why they should be avoided. The automated detection tool was used in a large-scale study to assess the frequency of the most severe MC³ in eight academic terms of a CS1 course, totaling more than 40,000 submissions. The results obtained demonstrate that MC³ occurs continuously throughout an academic semester, causing students to not correct these behaviors by themselves. Eight of these severe MC³ encompasses topics related to decision and iteration structures, crucial concepts in CS1. The remaining evidence a careless approach to coding, as students tend to ignore aspects such as organization and readability. The didactic materials were evaluated in a case study with 23 students in a CS1 class. The evidence collected suggests that instruction, inside or outside the classroom, has the power to influence both the occurrence and mitigation of MC³. However, using the materials appears not to be enough to effectively mitigate the occurrence of MC³. The educational environment must reinforce, in more ways, the reasons why students should avoid these coding behaviors. This thesis proposes that both CS1 teachers and students should also focus on addressing MC³ in addition to code correctness, as the results suggest that students often obtain approval in these courses, possibly even with a maximum grade, but still carry an incomplete or wrong understanding of the concepts learned
Ver menos
Aberto
Azevedo, Rodolfo Jardim de, 1974-
Orientador
Caceffo, Ricardo Edgard, 1983-
Coorientador
Duran, Rodrigo Silva
Avaliador
Carvalho, Leandro Silva Galvão de
Avaliador
Wainer, Jacques, 1958-
Avaliador
Reis, Julio Cesar dos, 1987-
Avaliador
Misconceptions in correct code : assisting instructors and students by shedding light on what is potentially overshadowed by automated correction
Eryck Pedro da Silva
Misconceptions in correct code : assisting instructors and students by shedding light on what is potentially overshadowed by automated correction
Eryck Pedro da Silva