Author Information
Li-Ching Chen, National Taiwan Normal University, TaiwanJia-Yi Chen, National Taiwan Normal University, Taiwan
Greg Lee, National Taiwan Normal University, Taiwan
Abstract
In many national curricula, visual programming languages (VPLs) often are adopted for introductory instruction. Comparing to text-based programming, VPL programming allows beginners to focus on programming structures and program logic. However, program auto-judging systems often only assess program output correctness while overlooking other aspect of programs. As a result, structural quality of programs are unknown. In this study, we aim to investigate beginning programmer’s program structural quality.
Junior high school students (beginning programmers) were asked to write Scratch programs for tasks that naturally call for the use of nested-if structure. Students’ performance were divided into four performance groups based on their program assessment scores: Excellence, Good, Subpar, and Unacceptable. Structural quality of programs in these four groups were then analyzed using Abstract Syntax Trees (ASTs) to extract structural features, which then were converted into text and manually categorized.
Results showed that only 50% of programs in the Excellence group used proper nested-if structure. The other three groups have much lower percentage of programs using the proper nested-if structure. For the Good group, many programs used multiple if structures or other inefficient structures. Although the program output is correct, proper nested-if structure were not used. For the Subpar and Unacceptable groups, few programs used proper structure and many contains simple logical expression errors.
Overall, statistical data show that the use of proper nested-if structure can lead to higher assessment score. In the future, programming practices should focus more on strengthening beginners’ understanding and use of proper structures.
Comments
Powered by WP LinkPress