Teaching Students to Use Programming Error Messages

Dennis J. Bouvier,Ellie Lovellette,Eddie Antonio Santos,Brett A. Becker,Venu G. Dasigi,Jack Forden,Olga Glebova,Swaroop Joshi,Stan Kurkovsky,Seán Russell
DOI: https://doi.org/10.1145/3617650.3624950
2023-01-01
Abstract:About a decade ago there was a sharp increase in the number of research publications focusing on programming error messages. The majority of this work focused on improving or "enhancing'' compiler error messages to make them easier for humans, especially novice programmers, to interpret and use more effectively. Little research has been published on explicitly teaching students how to effectively utilize error messages, or leveraging programming error messages as learning opportunities. However, there is no shortage of research showing that error and warning messages present barriers to students learning to program. Additionally, unhelpful and/or unfriendly error messages can cause frustration and negative emotions. We operate on the premise that not utilizing programming error and warning messages effectively, or at all, increases the difficulty of learning to program, and the undesired effects that this is known to have. As compiler messages vary by programming language and/or development environment, both in message and presentation, lessons on interpreting them are not typically included in mainstream educational materials. We believe this gap can be filled and that students can learn to use error messages to their advantage. Further, we believe that teaching students how to read and use error messages can have a significant positive impact on the learning experience for novice programmers. This work presents research on teaching novice programmers how to use programming error messages. Reported here are results from (a) a global survey of computing instructors investigating teaching the use of error / warning messages to novice programmers, (b) a multi-national pilot survey of 345 students about their experience with and attitudes toward error messages, (c) a search for existing online resources created and used by computing faculty, as well as (d) results of an empirical study with 1061 student participants testing an example lesson on using programming language use. The data show our single class-period example lesson makes a difference in student attitude toward programming error messages and their ability to use the messages.
What problem does this paper attempt to address?