On the nature of programming exercises - Simões, Alberto (2021)
2 There are countless reasons cited in scientific studies to explain the difficulties in programming 13 learning. The reasons range from the subject’s complexity, the ineffective teaching and study 14 methods, to psychological aspects such as demotivation. Still, learning programming often boils 15 down to practice on exercise solving. Hence, it is essential to understand that the nature of a 16 programming exercise is an important factor for the success and consistent learning. 17 This paper explores different approaches on the creation of a programming exercise, starting 18 with realizing how it is currently formalized, presented and evaluated. From there, authors suggest 19 variations that seek to broaden the way an exercise is solved and, with this diversity, increase student 20 engagement and learning outcome. The several types of exercises presented can use gamification 21 techniques fostering student motivation. To contextualize the student with his peers, we finish 22 presenting metrics that can be obtained by existing automatic assessment tools.