On Fun for Teaching Large Programming Courses
Walid Maalej
TL;DR
The paper addresses engagement challenges in large introductory programming courses by introducing a catalog of ten physical, in-class activities designed to visualize core programming concepts. It documents three years of deployment in a 500+ student course and a qualitative evaluation via semi-structured interviews with 15 former students and 14 educators across regions. Activities span from the LA-OLA wave and binary calculators to object-oriented rainstorms, paper-plane message passing, and recursive and data-structure visualizations, illustrating concepts from control flow to software reuse. Findings indicate that these activities can boost activation, focus, and concept retention, but success depends on concise execution and explicit connections to course material. The work offers practical guidelines for adoption and calls for broader quantitative studies to measure impact across contexts.
Abstract
Teaching software development basics to hundreds of students in a frontal setting is cost-efficient and thus still common in universities. However, in a large lecture hall, students can easily get bored, distracted, and disengaged. The frontal setting can also frustrate lecturers since interaction opportunities are limited and hard to scale. Fun activities can activate students and, if well designed, can also help remember and reflect on abstract software development concepts. We present a novel catalogue of ten physical fun activities, developed over years to reflect on basic programming and software development concepts. The catalogue includes the execution of a LA-OLA algorithm as in stadiums, using paper planes to simulate object messages and pointers, and traversing a lecture hall as a tree or a recursive structure. We report our experience of using the activities in a large course with 500+ students three years in a row. We also conducted an interview study with 15 former students of the course and 14 experienced educators from around the globe. The results suggest that the fun activities can enable students to stay focused, remember key concepts, and reflect afterwards. However, keeping the activities concise and clearly linked to the concepts taught seems to be key to their acceptance and effectiveness.
