{'fraction_non_alphanumeric': 0.02404809619238477, 'fraction_numerical': 0.0, 'mean_word_length': 5.215767634854772, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Understanding loops: a visual methodology

Learning basic programming is a difficult process for many students worldwide. In our experience as teachers, students’ difficulties become more evident when they are faced with the loop concept. In this paper, we created a visual metaphor representation based on cards for simple and nested loops using the “for” instruction. It was tested with novice students as well as with students who previously showed deep difficulties in learning to program. In this experiment, the teacher started by reviewing and explaining a simple “for loop” and then making a correspondence with the “while loop” previously studied. After that the visual illustration was used to further clarify the “for” concept and solidify student understanding about it. Subsequently, the students’ comprehension was tested. The teacher showed an extract of code involving simple and nested “for” loops and asked each student several questions concerning the loop behaviour. After this activity, students had to answer two questions, in order to verify the efficacy of the approach. Students were also submitted to a test, on loops and nested loops. This test was structured according to Bloom' s taxonomy having six questions with increasing difficulty. After all these activities, students answered a short questionnaire. Most of them gave positive feedback, because they thought that the proposed visual methodology would help them to clarify and solidify their concepts on looping.