Publicação
Questions about learners’ code focusing on semantic style
| Resumo: | Learning to program remains a central difficulty in computer science education. Although novice programmers can often produce functionally correct code, their solutions frequently expose misconceptions. Existing automated grading systems primarily assess correctness and efficiency, offering limited or no support for reflection on code quality. This dissertation presents an extension of the Jask library through a catalog of Questions about Learners’ Code (QLC) focused on semantic style issues in Java. The catalog defines templates for common problems such as redundant conditionals, unused variables, unnecessary parameters, and duplications. Each template generates multiple- choice questions by refactoring student code and producing distractors, enabling automated question generation directly from submissions. To evaluate the approach’s applicability, student submissions from an introductory programming course were analyzed. Of the relevant cases, 11.5% contained methods with identifiable quality issues. The two most common issues were the unnecessary comparison to true or false and the indirect return of the if condition, each affecting nearly half of the students. The results demonstrate the feasibility of transforming code quality issues into struc- tured questions and provide an overview of their frequency in novice programming. Al- though the generated questions were not administered to students, the findings establish a basis for their future integration into assessment systems and for further research on supporting reflection in programming education. |
|---|---|
| Autores principais: | Serrano, Gonçalo Miguel Costa |
| Assunto: | Code quality Questions about learner’s code Refactoring Programming education Qualidade de código Questões sobre codigo desenvolvido Educação de programação |
| Ano: | 2025 |
| País: | Portugal |
| Tipo de documento: | dissertação de mestrado |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | ISCTE |
| Idioma: | inglês |
| Origem: | Repositório ISCTE |
| Resumo: | Learning to program remains a central difficulty in computer science education. Although novice programmers can often produce functionally correct code, their solutions frequently expose misconceptions. Existing automated grading systems primarily assess correctness and efficiency, offering limited or no support for reflection on code quality. This dissertation presents an extension of the Jask library through a catalog of Questions about Learners’ Code (QLC) focused on semantic style issues in Java. The catalog defines templates for common problems such as redundant conditionals, unused variables, unnecessary parameters, and duplications. Each template generates multiple- choice questions by refactoring student code and producing distractors, enabling automated question generation directly from submissions. To evaluate the approach’s applicability, student submissions from an introductory programming course were analyzed. Of the relevant cases, 11.5% contained methods with identifiable quality issues. The two most common issues were the unnecessary comparison to true or false and the indirect return of the if condition, each affecting nearly half of the students. The results demonstrate the feasibility of transforming code quality issues into struc- tured questions and provide an overview of their frequency in novice programming. Al- though the generated questions were not administered to students, the findings establish a basis for their future integration into assessment systems and for further research on supporting reflection in programming education. |
|---|