Files
Paquet_37331900_2025.pdf
UCLouvain restricted access - Adobe PDF
- 1.74 MB
Details
- Supervisors
- Faculty
- Degree label
- Abstract
- Many students enter higher education without prior programming courses and learning programming can be a challenging task. Teachers have various tools to enhance their teaching methods, one of which is an online autograder. At UCLouvain, the autograder Inginious is used to assess online programming exercises in some courses, including the CS1 course. Currently, the feedback provided by Inginious is primarily based on unit tests that compare the output of submitted code with the correct output, without analyzing the code itself. Consequently, students may succeed in exercises while still employing poor coding practices that do not result in incorrect outputs. Additionally, the feedback is often not beginner-friendly. This thesis aims to identify coding flaws, represent them, and match them in students' code to provide constructive feedback. These coding flaws are misconceptions and refer to misunderstandings that can lead to incorrect code or poor practices. Our selection of misconceptions will be based on a catalog called Progmiscon, and we will represent these misconceptions using the programming query language Pyttern. We will propose different types of feedback to be integrated into Inginious and explain the process of matching misconceptions with the new feedback mechanism. Finally, we will conduct a case study using the introductory programming course at UCLouvain to evaluate the effectiveness of our approach.