F1-FY4-3 - Approach to Develop a Concept Inventory Informing Teachers of Novice Programmers' Mental Models

3. Research Full Paper
Julie Henry1 , Bruno Dumas1
1 Computer Science Department, University of Namur (Belgium)

This paper presents a study aimed at measuring the evolution of novices' understanding of the basic concepts of programming: variable, conditional, function, and loop. This study was conducted over three years, with three groups of students, as part of a university introductory programming course. During one semester, the students were evaluated longitudinally, according to a specific schedule.

Sorva and Quian define misunderstanding of programming concepts as misconceptions. It is recognized that the difficulty of novices in making progress in learning programming is mainly related to their misconceptions. It is also recognized that incomplete or inaccurate mental models are closely related to misconceptions.

Concept inventories (CIs) have been developed, inspired by the researches of Dehnadi and Sorva, to measure the evolution of students' mental models (and through them, their misconceptions) as they learn the basic concepts of programming. The aim is to make teachers aware of the impact of their teaching methods on students' understanding and to help them identify appropriate teaching and learning activities.

The context of the study is an introductory university course on programming. It consists of one-week sessions: a four-hour theoretical course and three hours of practical work for each programming concept. A CI was developed for the programming concepts covered by the study and students were asked to complete it three times over a session: before the theoretical course, between the theoretical course and the practical work, and after the practical work.

In a one-week session, students' mental models of a programming concept evolve. By measuring this evolution, it is possible to highlight the difficulties encountered by the students in the course of their learning. These difficulties were confronted with the supports made available to them and the methods used by the teachers. The pedagogical value of these results was discussed with the teachers.

Dehnadi identified eleven different mental models used by students to solve variable assignment problems. The mental models were never defined for the other programming concepts involved in the study (conditional, loop, and function). Their identification is one of the main scientific results of this paper. The expansion of Dehnadi's CI and the elaboration of CIs for the programming concepts of conditional, function, and loop are also interesting scientific results to improve computer science education.