Background: Live coding, or the process of instructors writing code in real time in front of students, is an alternative teaching method to showing students static code examples. Variations of live coding tightly coupled with more active learning approaches are common, which can make it difficult to understand the contribution of live coding alone. Purpose: In this study, we aim to disentangle the benefits of live coding from live coding with explicit active learning approaches. We compare live coding with no added active learning components to presenting students with static code examples.
Methods: We present a programming topic to over 100 students using either live coding or static code examples. In order to more closely parallel showing static code examples, our live coding process involves simply writing and discussing code in front of students. We compare student performance and student engagement between the two session modes. Findings: Our results show no significant difference between the two presentation modes in terms of learning outcomes. This suggests that live coding in its most basic form may not be sufficiently different from showing static code examples to impact student learning. We also found that live coding students were much more likely to type code, but no more likely to display other engagement behaviors. However, of the engagement activities, only code typing corresponded with different learning outcomes. Contributions: This research highlights the need for more explicit differentiation and comparisons of live coding with and without active learning strategies.