How to provide automated feedback helping students with negative semantic transfer when learning a second programming language
MetadataVis full innførsel
- Master theses 
Earlier studies have shown that when students see matching syntax across programming languages, they believe the semantics will match. Typically this is true, but occasionally the syntax between two languages is similar while the semantics are different. Given that the syntax in Java is correct, the code will compile with no warnings, and the cause of the error can take a longer time to find and be harder to correct. This thesis collects six semantic errors in Java with no preexisting error message that might be problematic for a student when transferring from Python to Java. We aim to find out if the errors are a problem for the students and uncover that current environments lack feedback we believe is beneficial for novice Java students. We develop a tool, Uncoil, to detect the errors and provide an error message to fill this gap. Seven novice students in Java with previous Python knowledge tried to solve the errors and evaluated Uncoil in a mixed method study. Our results indicate that novice Java students need help with some of the errors earlier in the semester but do not transfer the semantics from Python to Java later in the semester. At the time of the study, few students needed Uncoil to solve the errors, but especially the weaker students found it helpful.