Using Parsons' Puzzles to Support Nested Loops Learning - Gomes, Anabela; Silva, Francisco Lapa; Mendes, Antonio Jose (International Symposium on Computers in Education (Online), 2024)
Learning to program for the first time is not an easy task. Studies show high failure rates are typical due to the difficulties students feel. Many students in introductory programming courses struggle to understand and apply repetitive structures to solve problems. Struggling is usually even more evident when the exercises require nested loops. The difficulties are generally increased by learning strategies that ask students to write programs from scratch. This paper describes an experiment using an alternative approach to support nested loop learning. It involves using Parsons" problems with the support of a specific MoodIe plugin. During a class., the students were asked to answer 12 questions involving loops and nested loops through a Parsons puzzles activity. Parsons" problems give the student the necessary programming instructions to solve a particular problem. However., these instructions are unordered., and the student"s task is to order them so that the resulting program solves the proposed problem. This approach is more straightforward for students than asking them to solve the same problem from scratch. Hence., it may be an interesting approach for beginners., especially those who show more difficulties and cannot autonomously develop complete programs. At the same time., they expose the students to good programming practices. The difficulty level of the problems presented can be variable., and different programming concepts can be used. Overall., the students responded positively., and informal feedback indicated that many appreciated the opportunity to engage in a different type of task compared to creating complete programs from scratch. Interestingly., students who struggled academically found the activity particularly helpful., as they believed learning from presented solutions could guide them toward adopting correct programming practices. On the other hand., more proficient students preferred the challenge of coding from scratch. This observation raises questions about the suitability of the activity for future use., suggesting a need for further reflection and potential adjustments to better cater to the needs of different student groups.