🤖 AI Summary
This study addresses the lack of empirical research on cognitive load and psychological stress experienced by instructors during live coding—a widely adopted pedagogical practice in programming education. Through formative interviews with five teaching assistants and contextual surveys with four lecturers, complemented by thematic coding analysis, we identified six recurrent instructional challenges induced by improvisational coding, including temporal loss of control and student attention fragmentation. Results indicate that live coding imposes significantly higher psychological stress on instructors compared to conventional slide-based instruction. Building on these findings, we propose a novel taxonomy of instructor stressors in live coding contexts. Leveraging this framework, we derive five actionable design directions for enhancing IDEs and presentation environments—specifically targeting pedagogical usability, real-time scaffolding, attention management, error resilience, and workflow continuity. This work provides both empirically grounded theoretical insights and implementable technical pathways to support instructors in delivering effective, low-stress live coding instruction.
📝 Abstract
Live coding is a pedagogical technique in which an instructor writes and executes code in front of students to impart skills like incremental development and debugging. Although live coding offers many benefits, instructors face many challenges in the classroom, like cognitive challenges and psychological stress, most of which have yet to be formally studied. To understand the obstacles faced by instructors in CS classes, we conducted (1) a formative interview with five teaching assistants in exercise sessions and (2) a contextual inquiry study with four lecturers for large-scale classes. We found that the improvisational and unpredictable nature of live coding makes it difficult for instructors to manage their time and keep students engaged, resulting in more mental stress than presenting static slides. We discussed opportunities for augmenting existing IDEs and presentation setups to help enhance live coding experience.