Enhancing understanding of programming concepts through physical games - Raja Yusof, Raja Jamilah; Habib, Ahsan (2017)
Teaching programming courses have always been a challenge faced by many lecturers and instructors of programming courses, even though much effort has been put in by institution involved. There are many approaches in teaching programming such as through application software on line and offline, through software application games) and physical activities such as board games, dancing and computational thinking activities. The objective of our teaching approach is to introduce playing physical games using learner's body movement) in contrast to purely computer-based or board games as a tool to teach programming related subjects. This is closely related to computational thinking activities approach discussed by others. The motivation behind this approach is firstly based on learning style theories that many students are of the kinaesthetic typed compared to the visual and auditory and this is also true in the context of computer science students. Kinaesthetic students process new knowledge (or understanding) with the involvement of their body movement. In context of teaching programming, we feel that most of the teaching approaches only benefit the visual and auditory students even though many are among the kinaesthetic typed. We produced in total 10 lesson games to illustrate variables, swapping, arrays, sorting algorithm particularly bubble sort, quicksort, selection sort, graph theory, dynamic programming, amortized analysis and trees. The activities were conducted involving first and fourth year undergraduate students and Master students in Programming 1 (31 students), Data Structure (6 students), Analysis of Algorithm (12 students) and Advanced Algorithm (22 students) courses respectively. In total, they were 66 students. We observed that this approach was very well accepted by students as an alternative to lectures in conveying knowledge in the classroom. All students who came gave full participation and were much more committed to complete the intended objectives of the lesson involved. We regularly discussed and improved on how the steps of the games should be executed especially regarding the sorting algorithm. We also tested the lesson games in our community initiate programmes with the aborigines of Suku Kaum Temuan (28 children and teenagers between 7 to 18 years) and a local community in Subang Bestari, Shah Alam through a computational thinking game competition (32 children and teenagers between 6 to 15 years) supported by the local "Persatuan Penduduk". Similarly, (to that of the university scenario), we observed that, all children and teenagers gave full participation and learned computational thinking concepts effectively by executing the computational thinking through the physical games. Therefore, our execution of the physical game to explain programming concepts especially in a competition scenario, clearly showed a tremendous potential to instil interest, capture focus and increase grade performance in university students as well as children and teenagers.