Abstract:Error messages provided by the programming environments are often cryptic and confusing to learners. This study explored the effectiveness of enhanced programming error messages (EPEMs) in a Python-based introductory programming course. Participants were two groups of middle school students. The control group only received raw programming error messages (RPEMs) and had 35 students. The treatment group received EPEMs and had 33 students. During the class, students used an automated assessment tool called Mulber… Show more
“…The study suggests that students' competency in improving their code is important to their success in introductory programming. Also, in [19] authors explored the effectiveness of Enhanced Programming Error Messages (EPEMs) in a Python-based introductory programming course in the middle school using an automated assessment tool Mulberry.…”
Identifying and classifying the commonness of errors made by novices learning to write computer programs has long been of interest to both: researchers and educators. When teachers understand the nature of these errors and how students correct them, instruction can be more effective. Some errors occur more frequently than others. In this paper, we examine the most common programming errors made by beginning first-year high school gifted mathematics students in Mathematical High School. Notwithstanding the extensive coverage of these error types in lectures and learning materials, we found that these errors still occur when students write programs. Our results suggest that students who habitually make all common errors have lower grades, but even excellent students make logical errors in loop conditions. Therefore, we advise more practice in logical reasoning for novice programmers and an introduction to formal semantics.
“…The study suggests that students' competency in improving their code is important to their success in introductory programming. Also, in [19] authors explored the effectiveness of Enhanced Programming Error Messages (EPEMs) in a Python-based introductory programming course in the middle school using an automated assessment tool Mulberry.…”
Identifying and classifying the commonness of errors made by novices learning to write computer programs has long been of interest to both: researchers and educators. When teachers understand the nature of these errors and how students correct them, instruction can be more effective. Some errors occur more frequently than others. In this paper, we examine the most common programming errors made by beginning first-year high school gifted mathematics students in Mathematical High School. Notwithstanding the extensive coverage of these error types in lectures and learning materials, we found that these errors still occur when students write programs. Our results suggest that students who habitually make all common errors have lower grades, but even excellent students make logical errors in loop conditions. Therefore, we advise more practice in logical reasoning for novice programmers and an introduction to formal semantics.
“…Hattori and Kameda [32] and Becker et al [40,41] have developed tools for enhancing Java compiler error messages providing more information and changing description text for some common errors (through special front-end for the compiler), achieving good results. On the other hand, Zhou, et al [42] have not found the enhanced messages to be useful for help to reduce student errors or improve students' performance in debugging. Becker et al [43] present reliable evidence that this heuristic technique "fix the first error and ignore the rest" is trustworthy.…”
Section: Error Messages and Language Barriersmentioning
confidence: 99%
“…There is no need of modify compiler main program. Other challenging ideas include modify the compiler code for dealing with cascade error messages like presented by [40,41] and [32]; and, of course, enhancing error messages like done by [38,39,40,41,42].…”
Section: Didactic Features Project Ideas and Research Possibilitiesmentioning
In Compiler Design courses, students learn how a program written in high level programming language and designed for humans understanding is systematically converted into low level assembly language understood by machines, through different representations. This article presents the design, educative characteristics and possibilities of a modular and didactic compiler for a Pascal-like programming minilanguage that is super-set of Niklaus Wirth's PL/0. The main feature is that it implements the compiling phases in such a way that the information delivered to each next one may be reflected as an XML document, which can be studied separately. It is also shown that its design is suitable for being included as learning tool into compiler design courses. It is possible to implement a compiler in a high-level language like Python.
“…However, it can help for recalling the programming concept and motivating their engagement. Learning from errors is another effective approach of making students learn in programming [4]. It helps students to understand the frequent errors they make while coding and the error messages from the compiler.…”
Programming language courses are essential for learning software development and different activities are used to motivate novice students to help them to learn programming languages. Formative assessment is one of the approaches for effective programming learning. It can help them for increasing recall, facilitating engagement and reinforcing programming knowledge. This research aims to study whether the formative assessment builds self-confidence of novices to the learning of programming.
CCS CONCEPTS• Social and professional topics → Student assessment.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.